Revision: 43763
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43763
Author:   nazgul
Date:     2012-01-30 09:05:26 +0000 (Mon, 30 Jan 2012)
Log Message:
-----------
Fix #30020: Movie Clip Editor Crashed with panel size changed

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_draw.c

Modified: trunk/blender/source/blender/editors/interface/interface_draw.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_draw.c     
2012-01-30 09:00:54 UTC (rev 43762)
+++ trunk/blender/source/blender/editors/interface/interface_draw.c     
2012-01-30 09:05:26 UTC (rev 43763)
@@ -1529,38 +1529,40 @@
                width= rect.xmax-rect.xmin+1;
                height = rect.ymax-rect.ymin;
 
-               zoomx= (float)width / (scopes->track_preview->x-2*margin);
-               zoomy= (float)height / (scopes->track_preview->y-2*margin);
+               if(width > 0 && height > 0) {
+                       zoomx= (float)width / 
(scopes->track_preview->x-2*margin);
+                       zoomy= (float)height / 
(scopes->track_preview->y-2*margin);
 
-               off_x= ((int)track_pos[0]-track_pos[0]+0.5)*zoomx;
-               off_y= ((int)track_pos[1]-track_pos[1]+0.5)*zoomy;
+                       off_x= ((int)track_pos[0]-track_pos[0]+0.5)*zoomx;
+                       off_y= ((int)track_pos[1]-track_pos[1]+0.5)*zoomy;
 
-               drawibuf= scale_trackpreview_ibuf(scopes->track_preview, 
track_pos, width, height, margin);
+                       drawibuf= 
scale_trackpreview_ibuf(scopes->track_preview, track_pos, width, height, 
margin);
 
-               glaDrawPixelsSafe(rect.xmin, rect.ymin+1, drawibuf->x, 
drawibuf->y,
-                                 drawibuf->x, GL_RGBA, GL_UNSIGNED_BYTE, 
drawibuf->rect);
-               IMB_freeImBuf(drawibuf);
+                       glaDrawPixelsSafe(rect.xmin, rect.ymin+1, drawibuf->x, 
drawibuf->y,
+                                         drawibuf->x, GL_RGBA, 
GL_UNSIGNED_BYTE, drawibuf->rect);
+                       IMB_freeImBuf(drawibuf);
 
-               /* draw cross for pizel position */
-               glTranslatef(off_x+rect.xmin+track_pos[0]*zoomx, 
off_y+rect.ymin+track_pos[1]*zoomy, 0.f);
-               glScissor(ar->winrct.xmin + rect.xmin, 
ar->winrct.ymin+rect.ymin, rect.xmax-rect.xmin, rect.ymax-rect.ymin);
+                       /* draw cross for pizel position */
+                       glTranslatef(off_x+rect.xmin+track_pos[0]*zoomx, 
off_y+rect.ymin+track_pos[1]*zoomy, 0.f);
+                       glScissor(ar->winrct.xmin + rect.xmin, 
ar->winrct.ymin+rect.ymin, rect.xmax-rect.xmin, rect.ymax-rect.ymin);
 
-               for(a= 0; a< 2; a++) {
-                       if(a==1) {
-                               glLineStipple(3, 0xaaaa);
-                               glEnable(GL_LINE_STIPPLE);
-                               UI_ThemeColor(TH_SEL_MARKER);
+                       for(a= 0; a< 2; a++) {
+                               if(a==1) {
+                                       glLineStipple(3, 0xaaaa);
+                                       glEnable(GL_LINE_STIPPLE);
+                                       UI_ThemeColor(TH_SEL_MARKER);
+                               }
+                               else {
+                                       UI_ThemeColor(TH_MARKER_OUTLINE);
+                               }
+
+                               glBegin(GL_LINES);
+                                       glVertex2f(-10.0f, 0.0f);
+                                       glVertex2f(10.0f, 0.0f);
+                                       glVertex2f(0.0f, -10.0f);
+                                       glVertex2f(0.0f, 10.0f);
+                                       glEnd();
                        }
-                       else {
-                               UI_ThemeColor(TH_MARKER_OUTLINE);
-                       }
-
-                       glBegin(GL_LINES);
-                               glVertex2f(-10.0f, 0.0f);
-                               glVertex2f(10.0f, 0.0f);
-                               glVertex2f(0.0f, -10.0f);
-                               glVertex2f(0.0f, 10.0f);
-                       glEnd();
                }
 
                glDisable(GL_LINE_STIPPLE);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to