[Bf-blender-cvs] [6845306c68a] blender2.8: Correct recent menu split

Campbell Barton noreply at git.blender.org
Fri Jul 13 18:57:32 CEST 2018


Commit: 6845306c68a874cb1a9171d6a08a1578eea41a8a
Author: Campbell Barton
Date:   Fri Jul 13 18:56:59 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB6845306c68a874cb1a9171d6a08a1578eea41a8a

Correct recent menu split

Somehow duplicate API didn't error when linking.

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

M	source/blender/windowmanager/intern/wm.c
M	source/blender/windowmanager/intern/wm_menu_type.c

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

diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c
index 9e7136dc81d..f92cc511449 100644
--- a/source/blender/windowmanager/intern/wm.c
+++ b/source/blender/windowmanager/intern/wm.c
@@ -282,80 +282,6 @@ void WM_uilisttype_free(void)
 	uilisttypes_hash = NULL;
 }
 
-/* ************ MenuType handling ************** */
-
-static GHash *menutypes_hash = NULL;
-
-MenuType *WM_menutype_find(const char *idname, bool quiet)
-{
-	MenuType *mt;
-
-	if (idname[0]) {
-		mt = BLI_ghash_lookup(menutypes_hash, idname);
-		if (mt)
-			return mt;
-	}
-
-	if (!quiet)
-		printf("search for unknown menutype %s\n", idname);
-
-	return NULL;
-}
-
-bool WM_menutype_add(MenuType *mt)
-{
-	BLI_ghash_insert(menutypes_hash, mt->idname, mt);
-	return true;
-}
-
-void WM_menutype_freelink(MenuType *mt)
-{
-	bool ok;
-
-	ok = BLI_ghash_remove(menutypes_hash, mt->idname, NULL, MEM_freeN);
-
-	BLI_assert(ok);
-	(void)ok;
-}
-
-/* called on initialize WM_init() */
-void WM_menutype_init(void)
-{
-	/* reserve size is set based on blender default setup */
-	menutypes_hash = BLI_ghash_str_new_ex("menutypes_hash gh", 512);
-}
-
-void WM_menutype_free(void)
-{
-	GHashIterator gh_iter;
-
-	GHASH_ITER (gh_iter, menutypes_hash) {
-		MenuType *mt = BLI_ghashIterator_getValue(&gh_iter);
-		if (mt->ext.free) {
-			mt->ext.free(mt->ext.data);
-		}
-	}
-
-	BLI_ghash_free(menutypes_hash, NULL, MEM_freeN);
-	menutypes_hash = NULL;
-}
-
-bool WM_menutype_poll(bContext *C, MenuType *mt)
-{
-	/* If we're tagged, only use compatible. */
-	if (mt->owner_id[0] != '\0') {
-		const WorkSpace *workspace = CTX_wm_workspace(C);
-		if (BKE_workspace_owner_id_check(workspace, mt->owner_id) == false) {
-			return false;
-		}
-	}
-
-	if (mt->poll != NULL) {
-		return mt->poll(C, mt);
-	}
-	return true;
-}
-
 /* ****************************************** */
 
 void WM_keymap_init(bContext *C)
diff --git a/source/blender/windowmanager/intern/wm_menu_type.c b/source/blender/windowmanager/intern/wm_menu_type.c
index 58e85716bf1..97ca5690954 100644
--- a/source/blender/windowmanager/intern/wm_menu_type.c
+++ b/source/blender/windowmanager/intern/wm_menu_type.c
@@ -27,6 +27,7 @@
 #include "BLI_sys_types.h"
 
 #include "DNA_windowmanager_types.h"
+#include "DNA_workspace_types.h"
 
 #include "MEM_guardedalloc.h"
 
@@ -36,6 +37,7 @@
 #include "BKE_context.h"
 #include "BKE_library.h"
 #include "BKE_screen.h"
+#include "BKE_workspace.h"
 
 #include "WM_api.h"
 #include "WM_types.h"
@@ -98,6 +100,14 @@ void WM_menutype_free(void)
 
 bool WM_menutype_poll(bContext *C, MenuType *mt)
 {
+	/* If we're tagged, only use compatible. */
+	if (mt->owner_id[0] != '\0') {
+		const WorkSpace *workspace = CTX_wm_workspace(C);
+		if (BKE_workspace_owner_id_check(workspace, mt->owner_id) == false) {
+			return false;
+		}
+	}
+
 	if (mt->poll != NULL) {
 		return mt->poll(C, mt);
 	}



More information about the Bf-blender-cvs mailing list