[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51335] trunk/blender/source/blender/ editors/interface/interface_handlers.c: fix for own mistake using freed memory with menus.
Campbell Barton
ideasman42 at gmail.com
Mon Oct 15 08:12:08 CEST 2012
Revision: 51335
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51335
Author: campbellbarton
Date: 2012-10-15 06:12:05 +0000 (Mon, 15 Oct 2012)
Log Message:
-----------
fix for own mistake using freed memory with menus.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_handlers.c
Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 2012-10-15 04:17:29 UTC (rev 51334)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 2012-10-15 06:12:05 UTC (rev 51335)
@@ -6775,9 +6775,13 @@
/* now handle events for our own menu */
if (retval == WM_UI_HANDLER_CONTINUE || event->type == TIMER) {
if (submenu && submenu->menuretval) {
+ int do_ret_out_parent = (submenu->menuretval & UI_RETURN_OUT_PARENT);
retval = ui_handle_menu_return_submenu(C, event, menu);
- /* we may wan't to quit the submenu and handle the even in this menu */
- if ((retval == WM_UI_HANDLER_BREAK) && (submenu->menuretval & UI_RETURN_OUT_PARENT)) {
+ submenu = NULL; /* hint not to use this, it may be freed by call above */
+ (void)submenu;
+ /* we may wan't to quit the submenu and handle the even in this menu,
+ * if its important to use it, check 'data->menu' first */
+ if ((retval == WM_UI_HANDLER_BREAK) && do_ret_out_parent) {
retval = ui_handle_menu_event(C, event, menu, level);
}
}
More information about the Bf-blender-cvs
mailing list