[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34137] trunk/blender/source/blender/ editors/interface: fix [#25520] crash when closing the properties panel in uv/image editor
Campbell Barton
ideasman42 at gmail.com
Fri Jan 7 05:10:38 CET 2011
Revision: 34137
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34137
Author: campbellbarton
Date: 2011-01-07 04:10:37 +0000 (Fri, 07 Jan 2011)
Log Message:
-----------
fix [#25520] crash when closing the properties panel in uv/image editor
don't draw the image if the size is 0.
Crash was actually an assert() so debug builds only, replace assert() with BKE_assert() so crash is opt in build option.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_icons.c
trunk/blender/source/blender/editors/interface/interface_widgets.c
Modified: trunk/blender/source/blender/editors/interface/interface_icons.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_icons.c 2011-01-07 02:39:48 UTC (rev 34136)
+++ trunk/blender/source/blender/editors/interface/interface_icons.c 2011-01-07 04:10:37 UTC (rev 34137)
@@ -28,7 +28,6 @@
#include <math.h>
#include <stdlib.h>
#include <string.h>
-#include <assert.h>
#ifndef WIN32
#include <unistd.h>
@@ -851,7 +850,7 @@
/* sanity check */
if(w<=0 || h<=0 || w>2000 || h>2000) {
printf("icon_draw_rect: icons are %i x %i pixels?\n", w, h);
- assert(!"invalid icon size");
+ BKE_assert(!"invalid icon size");
return;
}
Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c 2011-01-07 02:39:48 UTC (rev 34136)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c 2011-01-07 04:10:37 UTC (rev 34137)
@@ -747,7 +747,7 @@
static void widget_draw_preview(BIFIconID icon, float aspect, float UNUSED(alpha), rcti *rect)
{
- int w, h, x, y, size;
+ int w, h, size;
if(icon==ICON_NULL)
return;
@@ -756,11 +756,13 @@
h = rect->ymax - rect->ymin;
size = MIN2(w, h);
size -= PREVIEW_PAD*2; /* padding */
-
- x = rect->xmin + w/2 - size/2;
- y = rect->ymin + h/2 - size/2;
-
- UI_icon_draw_preview_aspect_size(x, y, icon, aspect, size);
+
+ if(size > 0) {
+ int x = rect->xmin + w/2 - size/2;
+ int y = rect->ymin + h/2 - size/2;
+
+ UI_icon_draw_preview_aspect_size(x, y, icon, aspect, size);
+ }
}
More information about the Bf-blender-cvs
mailing list