From 7aae28af2d7dd9d593c4208d8c73d06d9e274044 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 12 Nov 2018 14:53:08 +0100 Subject: Keymaps: refactor loading of default keymap, fix bugs. This refactors loading of key configurations to clear and refill existing ones, rather than adding a new one and then removing the old one. This fixes broken loading of non-default configurations after recent changes, and prepares for future changes to make it possible to dynamically change key configurations based on user preferences. --- source/blender/windowmanager/WM_keymap.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source/blender/windowmanager/WM_keymap.h') diff --git a/source/blender/windowmanager/WM_keymap.h b/source/blender/windowmanager/WM_keymap.h index b27d6b44ab0..71037ab162e 100644 --- a/source/blender/windowmanager/WM_keymap.h +++ b/source/blender/windowmanager/WM_keymap.h @@ -42,9 +42,10 @@ struct EnumPropertyItem; /* Key Configuration */ -wmKeyConfig *WM_keyconfig_new (struct wmWindowManager *wm, const char *idname); +wmKeyConfig *WM_keyconfig_new (struct wmWindowManager *wm, const char *idname, bool user_defined); wmKeyConfig *WM_keyconfig_new_user(struct wmWindowManager *wm, const char *idname); bool WM_keyconfig_remove (struct wmWindowManager *wm, struct wmKeyConfig *keyconf); +void WM_keyconfig_clear (struct wmKeyConfig *keyconf); void WM_keyconfig_free (struct wmKeyConfig *keyconf); void WM_keyconfig_set_active(struct wmWindowManager *wm, const char *idname); @@ -56,7 +57,7 @@ void WM_keyconfig_update_operatortype(void); /* Keymap */ void WM_keymap_init (struct bContext *C); -void WM_keymap_free (struct wmKeyMap *keymap); +void WM_keymap_clear (struct wmKeyMap *keymap); wmKeyMapItem *WM_keymap_verify_item( struct wmKeyMap *keymap, const char *idname, int type, -- cgit v1.2.3