[Bf-blender-cvs] [99c57a0] temp_pie_max_items_fix: Fix crash with pie-submenu's

Campbell Barton noreply at git.blender.org
Mon Feb 15 20:04:43 CET 2016


Commit: 99c57a06bcc35c8398757142737f3c00ff5a4467
Author: Campbell Barton
Date:   Tue Feb 16 05:56:55 2016 +1100
Branches: temp_pie_max_items_fix
https://developer.blender.org/rB99c57a06bcc35c8398757142737f3c00ff5a4467

Fix crash with pie-submenu's

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

M	source/blender/editors/interface/interface_regions.c

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

diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index e8b0cf3..a05d8ef 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -3025,8 +3025,11 @@ void ui_pie_menu_level_create(
 	uiBut *but;
 
 	/* used as but->func_argN so freeing is handled elsewhere */
-	EnumPropertyItem *remaining = MEM_callocN(array_size, "pie_level_item_array");
+	EnumPropertyItem *remaining = MEM_mallocN(array_size + sizeof(EnumPropertyItem), "pie_level_item_array");
 	memcpy(remaining, items + totitem_parent, array_size);
+	/* a sentinal element is expectes */
+	memset(&remaining[totitem_remain], 0, sizeof(EnumPropertyItem));
+
 
 	/* yuk, static... issue is we can't reliably free this without doing dangerous changes */
 	static PieMenuLevelData lvl;




More information about the Bf-blender-cvs mailing list