[Bf-blender-cvs] [7f56f62] custom-manipulators: Fix a few memory leaks due to double allocation

Julian Eisel noreply at git.blender.org
Tue Oct 4 15:48:05 CEST 2016


Commit: 7f56f62975aa73213adf637db4e54b18f3ed3ab1
Author: Julian Eisel
Date:   Tue Oct 4 14:52:14 2016 +0200
Branches: custom-manipulators
https://developer.blender.org/rB7f56f62975aa73213adf637db4e54b18f3ed3ab1

Fix a few memory leaks due to double allocation

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

M	source/blender/editors/space_graph/space_graph.c
M	source/blender/editors/space_sequencer/space_sequencer.c

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

diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index e7a965d..f1d0121 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -226,8 +226,10 @@ static void graph_main_region_init(wmWindowManager *wm, ARegion *ar)
 	WM_event_add_keymap_handler(&ar->handlers, keymap);
 	
 	/* manipulators */
-	ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
-	        "Graph_Canvas", SPACE_IPO, RGN_TYPE_WINDOW});
+	if (!ar->manipulator_map) {
+		ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
+		        "Graph_Canvas", SPACE_IPO, RGN_TYPE_WINDOW});
+	}
 }
 
 static void graph_main_region_draw(const bContext *C, ARegion *ar)
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c
index 5aa5321..f56c83f 100644
--- a/source/blender/editors/space_sequencer/space_sequencer.c
+++ b/source/blender/editors/space_sequencer/space_sequencer.c
@@ -487,8 +487,10 @@ static void sequencer_main_region_init(wmWindowManager *wm, ARegion *ar)
 	WM_event_add_dropbox_handler(&ar->handlers, lb);
 	
 	/* no modal keymap here, only operators use this currently */
-	ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
-	        "Seq_Canvas", SPACE_SEQ, RGN_TYPE_WINDOW});
+	if (!ar->manipulator_map) {
+		ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
+		        "Seq_Canvas", SPACE_SEQ, RGN_TYPE_WINDOW});
+	}
 }
 
 static void sequencer_main_region_draw(const bContext *C, ARegion *ar)
@@ -566,8 +568,10 @@ static void sequencer_preview_region_init(wmWindowManager *wm, ARegion *ar)
 	keymap = WM_keymap_find(wm->defaultconf, "SequencerPreview", SPACE_SEQ, 0);
 	WM_event_add_keymap_handler_bb(&ar->handlers, keymap, &ar->v2d.mask, &ar->winrct);
 
-	ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
-	        "Seq_Canvas", SPACE_SEQ, RGN_TYPE_PREVIEW});
+	if (!ar->manipulator_map) {
+		ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
+		        "Seq_Canvas", SPACE_SEQ, RGN_TYPE_PREVIEW});
+	}
 }
 
 static void sequencer_preview_region_draw(const bContext *C, ARegion *ar)




More information about the Bf-blender-cvs mailing list