[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18681] branches/blender2.5/blender/source /blender/windowmanager/intern: 2.5

Ton Roosendaal ton at blender.org
Mon Jan 26 16:22:12 CET 2009


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;
 }





More information about the Bf-blender-cvs mailing list