[Bf-blender-cvs] [122706db9cd] blender2.8: Fix manipulator handles getting added each refresh

Campbell Barton noreply at git.blender.org
Fri Jul 21 17:58:49 CEST 2017


Commit: 122706db9cd23c88775474750e99b57e74a3b9e5
Author: Campbell Barton
Date:   Sat Jul 22 01:25:45 2017 +1000
Branches: blender2.8
https://developer.blender.org/rB122706db9cd23c88775474750e99b57e74a3b9e5

Fix manipulator handles getting added each refresh

The same manipulator map handler would accumulate,
slowing down interactions.

===================================================================

M	source/blender/editors/space_image/space_image.c
M	source/blender/editors/space_node/space_node.c
M	source/blender/editors/space_view3d/space_view3d.c

===================================================================

diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 58fb75edd84..648c1b301e3 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -680,8 +680,9 @@ static void image_main_region_init(wmWindowManager *wm, ARegion *ar)
 			.regionid = RGN_TYPE_WINDOW,
 		};
 		ar->manipulator_map = WM_manipulatormap_new_from_type(&wmap_params);
+
+		WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
 	}
-	WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
 
 	/* mask polls mode */
 	keymap = WM_keymap_find(wm->defaultconf, "Mask Editing", 0, 0);
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index c1099f38d92..c070495e565 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -649,9 +649,9 @@ static void node_main_region_init(wmWindowManager *wm, ARegion *ar)
 	if (ar->manipulator_map == NULL) {
 		ar->manipulator_map = WM_manipulatormap_new_from_type(
 		        &(const struct wmManipulatorMapType_Params){SPACE_NODE, RGN_TYPE_WINDOW});
-	}
 
-	WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
+		WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
+	}
 
 	/* own keymaps */
 	keymap = WM_keymap_find(wm->defaultconf, "Node Generic", SPACE_NODE, 0);
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 8bb3806a070..5dc802df871 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -494,9 +494,9 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *ar)
 	if (ar->manipulator_map == NULL) {
 		ar->manipulator_map = WM_manipulatormap_new_from_type(
 		        &(const struct wmManipulatorMapType_Params) {SPACE_VIEW3D, RGN_TYPE_WINDOW});
-	}
 
-	WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
+		WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
+	}
 
 	/* object ops. */




More information about the Bf-blender-cvs mailing list