From 71b5ba440bc9cee24abfac5fdf58b7c0e63ca0fa Mon Sep 17 00:00:00 2001 From: Campbell Barton <ideasman42@gmail.com> Date: Mon, 29 Oct 2012 05:40:34 +0000 Subject: [PATCH] use a single handler rather then 2, makes adding & freeing easier to manage. --- space_view3d_screencast_keys.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/space_view3d_screencast_keys.py b/space_view3d_screencast_keys.py index 2509bddbe..09989e731 100644 --- a/space_view3d_screencast_keys.py +++ b/space_view3d_screencast_keys.py @@ -223,6 +223,12 @@ def draw_callback_px_box(self, context): self.key = self.key[:final] self.time = self.time[:final] + +def draw_callback_px(self, context): + draw_callback_px_text(self, context) + draw_callback_px_box(self, context) + + def draw_last_operator(context, pos_x, pos_y): wm = context.window_manager @@ -506,8 +512,7 @@ class ScreencastKeysStatus(bpy.types.Operator): bl_description = "Display keys pressed in the 3D View" last_activity = 'NONE' - _handle_a = None - _handle_b = None + _handle = None _timer = None def modal(self, context, event): @@ -576,8 +581,7 @@ 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_a) - context.region.callback_remove(self._handle_b) + context.region.callback_remove(self._handle) return {'CANCELLED'} return {'PASS_THROUGH'} @@ -585,8 +589,7 @@ 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_a) - context.region.callback_remove(self._handle_b) + context.region.callback_remove(self._handle) context.window_manager.screencast_keys_keys = False return {'CANCELLED'} @@ -600,9 +603,7 @@ class ScreencastKeysStatus(bpy.types.Operator): self.mouse = [] self.mouse_time = [] ScreencastKeysStatus.overall_time = [] - self._handle_a = context.region.callback_add(draw_callback_px_box, - (self, context), 'POST_PIXEL') - self._handle_b = context.region.callback_add(draw_callback_px_text, + self._handle = context.region.callback_add(draw_callback_px, (self, context), 'POST_PIXEL') self._timer = context.window_manager.event_timer_add(0.075, context.window) -- GitLab