[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2678] contrib/py/scripts/addons/ space_view3d_enhanced_3d_cursor.py: fix: now startup keymap registration works properly with non-Blender (e.g.

dima glib dima.glib at gmail.com
Mon Nov 28 22:04:41 CET 2011


Revision: 2678
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2678
Author:   dairin0d
Date:     2011-11-28 21:04:39 +0000 (Mon, 28 Nov 2011)
Log Message:
-----------
fix: now startup keymap registration works properly with non-Blender (e.g. Maya) presets too

Modified Paths:
--------------
    contrib/py/scripts/addons/space_view3d_enhanced_3d_cursor.py

Modified: contrib/py/scripts/addons/space_view3d_enhanced_3d_cursor.py
===================================================================
--- contrib/py/scripts/addons/space_view3d_enhanced_3d_cursor.py	2011-11-28 18:38:26 UTC (rev 2677)
+++ contrib/py/scripts/addons/space_view3d_enhanced_3d_cursor.py	2011-11-28 21:04:39 UTC (rev 2678)
@@ -4878,12 +4878,31 @@
             ((event.type == 'TIMER') or ("MOVE" in event.type)):
             # clean up (we don't need this operator to run anymore)
             wm = bpy.context.window_manager
-            km = wm.keyconfigs.active.keymaps['Window']
-            items = find_keymap_items(km,
-                'wm.enhanced_3d_cursor_registration')
-            for kmi in items:
-                km.keymap_items.remove(kmi)
             
+            for kcfg in wm.keyconfigs.values():
+                for km in kcfg.keymaps.values():
+                    items = find_keymap_items(km,
+                        'wm.enhanced_3d_cursor_registration')
+                    for kmi in items:
+                        km.keymap_items.remove(kmi)
+            
+            """
+            try:
+                # A bug when using Maya keymap presets
+                # (reported by chafouin in BlenderArtists thread)
+                # KeyError: key "Window" not found'
+                # Circumvent for now.
+                km = wm.keyconfigs.active.keymaps['Window']
+            except KeyError:
+                km = None
+            
+            if km:
+                items = find_keymap_items(km,
+                    'wm.enhanced_3d_cursor_registration')
+                for kmi in items:
+                    km.keymap_items.remove(kmi)
+            """
+            
             update_keymap(True)
             
             self.keymap_updated = True



More information about the Bf-extensions-cvs mailing list