[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49292] branches/soc-2011-tomato/source/ blender/editors/space_node/drawnode.c: Fix crash in drawing socket names when zooming out a lot

Sergey Sharybin sergey.vfx at gmail.com
Fri Jul 27 15:16:04 CEST 2012


Revision: 49292
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49292
Author:   nazgul
Date:     2012-07-27 13:16:04 +0000 (Fri, 27 Jul 2012)
Log Message:
-----------
Fix crash in drawing socket names when zooming out a lot

Modified Paths:
--------------
    branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c

Modified: branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c	2012-07-27 12:57:01 UTC (rev 49291)
+++ branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c	2012-07-27 13:16:04 UTC (rev 49292)
@@ -218,17 +218,21 @@
 	float slen;
 	int ofs = 0;
 	const char *ui_name = IFACE_(name);
+	int len = strlen(ui_name);
 	UI_ThemeColor(TH_TEXT);
 	slen = (UI_GetStringWidth(ui_name) + NODE_MARGIN_X) * snode->aspect_sqrt;
-	while (slen > node->width) {
+	while (slen > node->width && ofs < len) {
 		ofs++;
 		slen = (UI_GetStringWidth(ui_name + ofs) + NODE_MARGIN_X) * snode->aspect_sqrt;
 	}
-	uiDefBut(block, LABEL, 0, ui_name + ofs,
-	         (int)(sock->locx - slen), (int)(sock->locy - 9.0f),
-	         (short)(node->width - NODE_DY), (short)NODE_DY,
-	         NULL, 0, 0, 0, 0, "");
 
+	if (ofs < len) {
+		uiDefBut(block, LABEL, 0, ui_name + ofs,
+		         (int)(sock->locx - slen), (int)(sock->locy - 9.0f),
+		         (short)(node->width - NODE_DY), (short)NODE_DY,
+		         NULL, 0, 0, 0, 0, "");
+	}
+
 	(void)snode;
 }
 




More information about the Bf-blender-cvs mailing list