[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4085] trunk/py/scripts/addons/ space_view3d_panel_measure.py: update for api changes, note this script isnt using the API properly, it adds a draw handler but never removes it.

Campbell Barton ideasman42 at gmail.com
Thu Dec 20 14:41:29 CET 2012


Revision: 4085
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4085
Author:   campbellbarton
Date:     2012-12-20 13:41:28 +0000 (Thu, 20 Dec 2012)
Log Message:
-----------
update for api changes, note this script isnt using the API properly, it adds a draw handler but never removes it.

Modified Paths:
--------------
    trunk/py/scripts/addons/space_view3d_panel_measure.py

Modified: trunk/py/scripts/addons/space_view3d_panel_measure.py
===================================================================
--- trunk/py/scripts/addons/space_view3d_panel_measure.py	2012-12-20 13:36:43 UTC (rev 4084)
+++ trunk/py/scripts/addons/space_view3d_panel_measure.py	2012-12-20 13:41:28 UTC (rev 4085)
@@ -913,7 +913,6 @@
 
     def modal(self, context, event):
         context.area.tag_redraw()
-
         return {'FINISHED'}
 
     def execute(self, context):
@@ -921,18 +920,19 @@
             mgr_ops = context.window_manager.operators.values()
             if not self.bl_idname in [op.bl_idname for op in mgr_ops]:
                 # Add the region OpenGL drawing callback
-                for WINregion in context.area.regions:
-                    if WINregion.type == 'WINDOW':
-                        self._handle = WINregion.callback_add(
-                            draw_measurements_callback,
-                            (self, context),
-                            'POST_PIXEL')
 
-                        print("Measure panel display callback added")
+                # XXX, this is never removed!, it should be! (at least when disabling the addon)
+                self._handle = bpy.types.SpaceView3D.draw_handler_add(
+                        draw_measurements_callback,
+                        (self, context),
+                        'WINDOW', 'POST_PIXEL')
 
-                        context.window_manager.modal_handler_add(self)
-                        return {'RUNNING_MODAL'}
+                print("Measure panel display callback added")
 
+                # XXX, never removed!
+                context.window_manager.modal_handler_add(self)
+                return {'RUNNING_MODAL'}
+
             return {'CANCELLED'}
 
         else:



More information about the Bf-extensions-cvs mailing list