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

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

Reply via email to