[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