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

Brecht Van Lommel brecht at blender.org
Sat Dec 20 15:15:58 CET 2008


Revision: 17972
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17972
Author:   blendix
Date:     2008-12-20 15:15:58 +0100 (Sat, 20 Dec 2008)

Log Message:
-----------
2.5:
- fix crash opening submenus
- fix disappearing main menu when going into submenu

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c	2008-12-20 13:29:35 UTC (rev 17971)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c	2008-12-20 14:15:58 UTC (rev 17972)
@@ -3499,6 +3499,7 @@
 
 	but= ui_but_find_activated(ar);
 	data= but->active;
+	submenu= data->menu;
 
 	if(submenu->menuretval) {
 		/* first decide if we want to close our own menu cascading, if

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	2008-12-20 13:29:35 UTC (rev 17971)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c	2008-12-20 14:15:58 UTC (rev 17972)
@@ -159,12 +159,14 @@
 	ScrArea *sa;
 	ARegion *ar;
 	
-	for(sa= screen->areabase.first; sa; sa= sa->next) {
-		for(ar=sa->regionbase.first; ar; ar= ar->next) {
-			if( BLI_isect_rcti(dirty, &ar->winrct, NULL) )
+	for(ar= screen->regionbase.first; ar; ar= ar->next)
+		if(BLI_isect_rcti(dirty, &ar->winrct, NULL))
+			ar->do_draw= 1;
+
+	for(sa= screen->areabase.first; sa; sa= sa->next)
+		for(ar= sa->regionbase.first; ar; ar= ar->next)
+			if(BLI_isect_rcti(dirty, &ar->winrct, NULL))
 				ar->do_draw= 1;
-		}
-	}
 }
 
 /* all the overlay management, menus, actionzones, region tabs, etc */
@@ -174,7 +176,7 @@
 	bScreen *screen= CTX_wm_screen(C);
 	
 	/* flush redraws of screen regions (menus) down */
-	for(ar= screen->regionbase.first; ar; ar= ar->next) {
+	for(ar= screen->regionbase.last; ar; ar= ar->prev) {
 		if(ar->swinid && ar->do_draw) {
 			wm_flush_regions(screen, &ar->winrct);
 		}





More information about the Bf-blender-cvs mailing list