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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-10-26 10:50:04 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-10-26 10:50:04 +0400
commit05b9d0834d7a143a6f699eb2410973d3d4f41150 (patch)
tree8926808b77a7aeb99e9b9de092fddbc533371ee2 /space_view3d_screencast_keys.py
parent53e56a4e509bc6794bc0537f20c80b430e816fca (diff)
fix [#30740] N-panel addon toggle operators crash Blender after screen change (Fatal Python error: GC object already tracked)
Diffstat (limited to 'space_view3d_screencast_keys.py')
-rw-r--r--space_view3d_screencast_keys.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/space_view3d_screencast_keys.py b/space_view3d_screencast_keys.py
index b20c551c..2509bddb 100644
--- a/space_view3d_screencast_keys.py
+++ b/space_view3d_screencast_keys.py
@@ -506,7 +506,8 @@ class ScreencastKeysStatus(bpy.types.Operator):
bl_description = "Display keys pressed in the 3D View"
last_activity = 'NONE'
- _handle = None
+ _handle_a = None
+ _handle_b = None
_timer = None
def modal(self, context, event):
@@ -575,7 +576,8 @@ class ScreencastKeysStatus(bpy.types.Operator):
if not context.window_manager.screencast_keys_keys:
# stop script
context.window_manager.event_timer_remove(self._timer)
- context.region.callback_remove(self._handle)
+ context.region.callback_remove(self._handle_a)
+ context.region.callback_remove(self._handle_b)
return {'CANCELLED'}
return {'PASS_THROUGH'}
@@ -583,7 +585,8 @@ class ScreencastKeysStatus(bpy.types.Operator):
def cancel(self, context):
if context.window_manager.screencast_keys_keys:
context.window_manager.event_timer_remove(self._timer)
- context.region.callback_remove(self._handle)
+ context.region.callback_remove(self._handle_a)
+ context.region.callback_remove(self._handle_b)
context.window_manager.screencast_keys_keys = False
return {'CANCELLED'}
@@ -597,9 +600,9 @@ class ScreencastKeysStatus(bpy.types.Operator):
self.mouse = []
self.mouse_time = []
ScreencastKeysStatus.overall_time = []
- self._handle = context.region.callback_add(draw_callback_px_box,
+ self._handle_a = context.region.callback_add(draw_callback_px_box,
(self, context), 'POST_PIXEL')
- self._handle = context.region.callback_add(draw_callback_px_text,
+ self._handle_b = context.region.callback_add(draw_callback_px_text,
(self, context), 'POST_PIXEL')
self._timer = context.window_manager.event_timer_add(0.075,
context.window)