[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26960] trunk/blender/source/blender: bugfix [#20480] crash/lock-up for certain aspect ratios

Campbell Barton ideasman42 at gmail.com
Tue Feb 16 16:59:36 CET 2010


Revision: 26960
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26960
Author:   campbellbarton
Date:     2010-02-16 16:59:36 +0100 (Tue, 16 Feb 2010)

Log Message:
-----------
bugfix [#20480] crash/lock-up for certain aspect ratios

Modified Paths:
--------------
    trunk/blender/source/blender/blenlib/BLI_rect.h
    trunk/blender/source/blender/blenlib/intern/rct.c
    trunk/blender/source/blender/editors/space_node/node_draw.c

Modified: trunk/blender/source/blender/blenlib/BLI_rect.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_rect.h	2010-02-16 15:49:22 UTC (rev 26959)
+++ trunk/blender/source/blender/blenlib/BLI_rect.h	2010-02-16 15:59:36 UTC (rev 26960)
@@ -47,6 +47,7 @@
  * @return True if @a rect is empty.
  */
 int  BLI_rcti_is_empty(struct rcti *rect);
+int  BLI_rctf_is_empty(struct rctf *rect);
 void BLI_init_rctf(struct rctf *rect, float xmin, float xmax, float ymin, float ymax);
 void BLI_init_rcti(struct rcti *rect, int xmin, int xmax, int ymin, int ymax);
 void BLI_translate_rctf(struct rctf *rect, float x, float y);

Modified: trunk/blender/source/blender/blenlib/intern/rct.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/rct.c	2010-02-16 15:49:22 UTC (rev 26959)
+++ trunk/blender/source/blender/blenlib/intern/rct.c	2010-02-16 15:59:36 UTC (rev 26960)
@@ -48,6 +48,12 @@
 			(rect->ymax<=rect->ymin));
 }
 
+int BLI_rctf_is_empty(rctf * rect)
+{
+	return ((rect->xmax<=rect->xmin) ||
+			(rect->ymax<=rect->ymin));
+}
+
 int BLI_in_rcti(rcti * rect, int x, int y)
 {
 

Modified: trunk/blender/source/blender/editors/space_node/node_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_draw.c	2010-02-16 15:49:22 UTC (rev 26959)
+++ trunk/blender/source/blender/editors/space_node/node_draw.c	2010-02-16 15:59:36 UTC (rev 26960)
@@ -205,7 +205,7 @@
 
 	node->prvr.xmin= node->locx + NODE_DYS;
 	node->prvr.xmax= node->locx + node->width- NODE_DYS;
-	
+
 	/* preview rect? */
 	if(node->flag & NODE_PREVIEW) {
 		/* only recalculate size when there's a preview actually, otherwise we use stored result */
@@ -820,7 +820,7 @@
 	/* preview */
 	if(node->flag & NODE_PREVIEW) {
 		BLI_lock_thread(LOCK_PREVIEW);
-		if(node->preview && node->preview->rect)
+		if(node->preview && node->preview->rect && !BLI_rctf_is_empty(&node->prvr))
 			node_draw_preview(node->preview, &node->prvr);
 		BLI_unlock_thread(LOCK_PREVIEW);
 	}





More information about the Bf-blender-cvs mailing list