[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35188] trunk/blender/source/blender/ windowmanager/intern/wm_keymap.c: Bugfix #26174
Ton Roosendaal
ton at blender.org
Fri Feb 25 17:32:03 CET 2011
Revision: 35188
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35188
Author: ton
Date: 2011-02-25 16:32:03 +0000 (Fri, 25 Feb 2011)
Log Message:
-----------
Bugfix #26174
Shift+A "add primitive" menu didn't allow to set shortcuts on the
sublevels.
Modified Paths:
--------------
trunk/blender/source/blender/windowmanager/intern/wm_keymap.c
Modified: trunk/blender/source/blender/windowmanager/intern/wm_keymap.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_keymap.c 2011-02-25 16:19:50 UTC (rev 35187)
+++ trunk/blender/source/blender/windowmanager/intern/wm_keymap.c 2011-02-25 16:32:03 UTC (rev 35188)
@@ -440,6 +440,7 @@
if(keymap && (!keymap->poll || keymap->poll((bContext*)C))) {
for(kmi=keymap->items.first; kmi; kmi=kmi->next) {
+
if(strcmp(kmi->idname, opname) == 0 && WM_key_event_string(kmi->type)[0]) {
if (hotkey)
if (!ISHOTKEY(kmi->type))
@@ -803,9 +804,19 @@
/* Editing Modes */
else if (strstr(opname, "MESH_OT")) {
km = WM_keymap_find_all(C, "Mesh", 0, 0);
+
+ /* some mesh operators are active in object mode too, like add-prim */
+ if(km && km->poll && km->poll((bContext *)C)==0) {
+ km = WM_keymap_find_all(C, "Object Mode", 0, 0);
+ }
}
else if (strstr(opname, "CURVE_OT")) {
km = WM_keymap_find_all(C, "Curve", 0, 0);
+
+ /* some curve operators are active in object mode too, like add-prim */
+ if(km && km->poll && km->poll((bContext *)C)==0) {
+ km = WM_keymap_find_all(C, "Object Mode", 0, 0);
+ }
}
else if (strstr(opname, "ARMATURE_OT")) {
km = WM_keymap_find_all(C, "Armature", 0, 0);
@@ -818,6 +829,11 @@
}
else if (strstr(opname, "MBALL_OT")) {
km = WM_keymap_find_all(C, "Metaball", 0, 0);
+
+ /* some mball operators are active in object mode too, like add-prim */
+ if(km && km->poll && km->poll((bContext *)C)==0) {
+ km = WM_keymap_find_all(C, "Object Mode", 0, 0);
+ }
}
else if (strstr(opname, "LATTICE_OT")) {
km = WM_keymap_find_all(C, "Lattice", 0, 0);
More information about the Bf-blender-cvs
mailing list