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