Revision: 18681
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18681
Author:   ton
Date:     2009-01-26 16:22:10 +0100 (Mon, 26 Jan 2009)

Log Message:
-----------
2.5

Bugfix: having multiple windows didnt read events anymore for other
windows. Caused by too much security escapes in event handlers.

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

Modified: 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
   2009-01-26 13:19:52 UTC (rev 18680)
+++ 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
   2009-01-26 15:22:10 UTC (rev 18681)
@@ -790,6 +790,7 @@
                        int action;
 
                        CTX_wm_window_set(C, win);
+                       
                        /* we let modal handlers get active area/region, also 
wm_paintcursor_test needs it */
                        CTX_wm_area_set(C, area_event_inside(C, event->x, 
event->y));
                        CTX_wm_region_set(C, region_event_inside(C, event->x, 
event->y));
@@ -802,7 +803,7 @@
                        /* fileread case */
                        if(CTX_wm_window(C)==NULL) {
                                wm_event_free(event);
-                               break;
+                               return;
                        }
                        
                        if(wm_event_always_pass(event) || 
action==WM_HANDLER_CONTINUE) {
@@ -850,14 +851,8 @@
                        }
                        wm_event_free(event);
                        
-                       CTX_wm_window_set(C, NULL);
-                       CTX_wm_area_set(C, NULL);
-                       CTX_wm_region_set(C, NULL);
                }
-               
-               /* fileread case */
-               if(CTX_wm_window(C)==NULL)
-                       break;
+               CTX_wm_window_set(C, NULL);
        }
 }
 

Modified: 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c 
2009-01-26 13:19:52 UTC (rev 18680)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c 
2009-01-26 15:22:10 UTC (rev 18681)
@@ -279,7 +279,6 @@
 /* area-rip calls this */
 wmWindow *WM_window_open(bContext *C, rcti *rect)
 {
-       wmWindowManager *wm= CTX_wm_manager(C);
        wmWindow *win= wm_window_new(C);
        
        win->posx= rect->xmin;
@@ -290,7 +289,7 @@
        win->drawmethod= -1;
        win->drawdata= NULL;
        
-       wm_window_add_ghostwindow(wm, "Blender", win);
+       wm_check(C);
        
        return win;
 }


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

Reply via email to