Revision: 18124
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18124
Author:   elubie
Date:     2008-12-28 16:28:09 +0100 (Sun, 28 Dec 2008)

Log Message:
-----------
2.5
fix for win32 firing size event with undefined size.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c

Modified: 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c 
2008-12-28 14:41:33 UTC (rev 18123)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c 
2008-12-28 15:28:09 UTC (rev 18124)
@@ -447,47 +447,51 @@
                        }
                        case GHOST_kEventWindowSize:
                        case GHOST_kEventWindowMove: {
-                               GHOST_RectangleHandle client_rect;
-                               int l, t, r, b, scr_w, scr_h;
-                               
-                               client_rect= 
GHOST_GetClientBounds(win->ghostwin);
-                               GHOST_GetRectangle(client_rect, &l, &t, &r, &b);
-                               
-                               GHOST_DisposeRectangle(client_rect);
-                               
-                               wm_get_screensize(&scr_w, &scr_h);
-                               win->sizex= r-l;
-                               win->sizey= b-t;
-                               win->posx= l;
-                               win->posy= scr_h - t - win->sizey;
+                               GHOST_TWindowState state;
+                               state = GHOST_GetWindowState(win->ghostwin);
 
-                               /* debug prints */
-                               if(0) {
-                                       GHOST_TWindowState state;
-                                       state = 
GHOST_GetWindowState(win->ghostwin);
+                                /* win32: gives undefined window size when 
minimized */
+                               if(state!=GHOST_kWindowStateMinimized) {
+                                       GHOST_RectangleHandle client_rect;
+                                       int l, t, r, b, scr_w, scr_h;
+                                       
+                                       client_rect= 
GHOST_GetClientBounds(win->ghostwin);
+                                       GHOST_GetRectangle(client_rect, &l, &t, 
&r, &b);
+                                       
+                                       GHOST_DisposeRectangle(client_rect);
+                                       
+                                       wm_get_screensize(&scr_w, &scr_h);
+                                       win->sizex= r-l;
+                                       win->sizey= b-t;
+                                       win->posx= l;
+                                       win->posy= scr_h - t - win->sizey;
 
-                                       if(state==GHOST_kWindowStateNormal) {
-                                               if(G.f & G_DEBUG) 
printf("window state: normal\n");
+                                       /* debug prints */
+                                       if(0) {
+                                               state = 
GHOST_GetWindowState(win->ghostwin);
+
+                                               
if(state==GHOST_kWindowStateNormal) {
+                                                       if(G.f & G_DEBUG) 
printf("window state: normal\n");
+                                               }
+                                               else 
if(state==GHOST_kWindowStateMinimized) {
+                                                       if(G.f & G_DEBUG) 
printf("window state: minimized\n");
+                                               }
+                                               else 
if(state==GHOST_kWindowStateMaximized) {
+                                                       if(G.f & G_DEBUG) 
printf("window state: maximized\n");
+                                               }
+                                               else 
if(state==GHOST_kWindowStateFullScreen) {
+                                                       if(G.f & G_DEBUG) 
printf("window state: fullscreen\n");
+                                               }
+                                               
+                                               
if(type!=GHOST_kEventWindowSize) {
+                                                       if(G.f & G_DEBUG) 
printf("win move event pos %d %d size %d %d\n", win->posx, win->posy, 
win->sizex, win->sizey);
+                                               }
+                                               
                                        }
-                                       else 
if(state==GHOST_kWindowStateMinimized) {
-                                               if(G.f & G_DEBUG) 
printf("window state: minimized\n");
-                                       }
-                                       else 
if(state==GHOST_kWindowStateMaximized) {
-                                               if(G.f & G_DEBUG) 
printf("window state: maximized\n");
-                                       }
-                                       else 
if(state==GHOST_kWindowStateFullScreen) {
-                                               if(G.f & G_DEBUG) 
printf("window state: fullscreen\n");
-                                       }
-                                       
-                                       if(type!=GHOST_kEventWindowSize) {
-                                               if(G.f & G_DEBUG) printf("win 
move event pos %d %d size %d %d\n", win->posx, win->posy, win->sizex, 
win->sizey);
-                                       }
-                                       
+                               
+                                       wm_window_make_drawable(C, win);
+                                       WM_event_add_notifier(C, 
NC_SCREEN|NA_EDITED, NULL);
                                }
-                               
-                               wm_window_make_drawable(C, win);
-                               WM_event_add_notifier(C, NC_SCREEN|NA_EDITED, 
NULL);
-                               
                                break;
                        }
                        default:


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

Reply via email to