[Bf-blender-cvs] [57f0b175d7c] master: Fix T61487: quick favorites crash outside of open preferences window

Philipp Oeser noreply at git.blender.org
Wed Feb 13 11:08:37 CET 2019


Commit: 57f0b175d7c90886ef61e06a991f15c9e1da723c
Author: Philipp Oeser
Date:   Wed Feb 13 11:02:47 2019 +0100
Branches: master
https://developer.blender.org/rB57f0b175d7c90886ef61e06a991f15c9e1da723c

Fix T61487: quick favorites crash outside of open preferences window

===================================================================

M	source/blender/editors/interface/interface_context_menu.c
M	source/blender/editors/screen/screen_user_menu.c

===================================================================

diff --git a/source/blender/editors/interface/interface_context_menu.c b/source/blender/editors/interface/interface_context_menu.c
index 0f5d3bb28c8..d8928e81ccd 100644
--- a/source/blender/editors/interface/interface_context_menu.c
+++ b/source/blender/editors/interface/interface_context_menu.c
@@ -710,7 +710,9 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but)
 				item_found = true;
 			}
 		}
-		MEM_freeN(um_array);
+		if (um_array) {
+			MEM_freeN(um_array);
+		}
 
 		if (!item_found) {
 			but2 = uiDefIconTextBut(
diff --git a/source/blender/editors/screen/screen_user_menu.c b/source/blender/editors/screen/screen_user_menu.c
index d0cc153f8c4..1f49eb2d5fc 100644
--- a/source/blender/editors/screen/screen_user_menu.c
+++ b/source/blender/editors/screen/screen_user_menu.c
@@ -59,6 +59,11 @@ bUserMenu **ED_screen_user_menus_find(const bContext *C, uint *r_len)
 	SpaceLink *sl = CTX_wm_space_data(C);
 	const char *context = CTX_data_mode_string(C);
 
+	if (sl == NULL) {
+		*r_len = 0;
+		return NULL;
+	}
+
 	uint array_len = 3;
 	bUserMenu **um_array = MEM_calloc_arrayN(array_len, sizeof(*um_array), __func__);
 	um_array[0] = BKE_blender_user_menu_find(&U.user_menus, sl->spacetype, context);
@@ -253,7 +258,9 @@ static void screen_user_menu_draw(const bContext *C, Menu *menu)
 			}
 		}
 	}
-	MEM_freeN(um_array);
+	if (um_array) {
+		MEM_freeN(um_array);
+	}
 
 	if (is_empty) {
 		uiItemL(menu->layout, IFACE_("No menu items found"), ICON_NONE);



More information about the Bf-blender-cvs mailing list