Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-07-13 19:56:59 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-07-13 19:56:59 +0300
commit6845306c68a874cb1a9171d6a08a1578eea41a8a (patch)
tree0f7b278334fd4464be715529c188af0480305ad7 /source/blender
parent4ca298309620c65e390ccb52e5921bddfd69c31e (diff)
Correct recent menu split
Somehow duplicate API didn't error when linking.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/windowmanager/intern/wm.c74
-rw-r--r--source/blender/windowmanager/intern/wm_menu_type.c10
2 files changed, 10 insertions, 74 deletions
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);
}