[Bf-blender-cvs] [37d225c] temp_manipulators_core: Move manipulator-group creation into own function

Julian Eisel noreply at git.blender.org
Thu Sep 15 02:26:56 CEST 2016


Commit: 37d225ce55a993d0fd784e35bac5859bbf5e1bef
Author: Julian Eisel
Date:   Thu Sep 15 02:23:46 2016 +0200
Branches: temp_manipulators_core
https://developer.blender.org/rB37d225ce55a993d0fd784e35bac5859bbf5e1bef

Move manipulator-group creation into own function

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

M	source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
M	source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
M	source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c

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

diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h b/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
index 2c6808d..6e4ea8d 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
@@ -71,6 +71,7 @@ enum {
 	TWEAK_MODAL_PRECISION_OFF,
 };
 
+struct wmManipulatorGroup *wm_manipulatorgroup_new_from_type(struct wmManipulatorGroupType *mgrouptype);
 void WM_manipulatorgroup_free(bContext *C, wmManipulatorMap *mmap, struct wmManipulatorGroup *mgroup);
 
 void WM_manipulatorgrouptype_keymap_init(struct wmManipulatorGroupType *mgrouptype, struct wmKeyConfig *keyconf);
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
index a4396bc..c2f44c6 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
@@ -63,6 +63,17 @@
  *
  * \{ */
 
+/**
+ * Create a new manipulator-group from \a mgrouptype.
+ */
+wmManipulatorGroup *wm_manipulatorgroup_new_from_type(wmManipulatorGroupType *mgrouptype)
+{
+	wmManipulatorGroup *mgroup = MEM_callocN(sizeof(*mgroup), "manipulator-group");
+	mgroup->type = mgrouptype;
+
+	return mgroup;
+}
+
 void WM_manipulatorgroup_free(bContext *C, wmManipulatorMap *mmap, wmManipulatorGroup *mgroup)
 {
 	for (wmManipulator *manipulator = mgroup->manipulators.first; manipulator;) {
@@ -458,9 +469,7 @@ void WM_manipulatorgrouptype_init_runtime(
 				for (ARegion *ar = lb->first; ar; ar = ar->next) {
 					for (wmManipulatorMap *mmap = ar->manipulator_maps.first; mmap; mmap = mmap->next) {
 						if (mmap->type == mmaptype) {
-							wmManipulatorGroup *mgroup = MEM_callocN(sizeof(wmManipulatorGroup), "manipulator-group");
-
-							mgroup->type = mgrouptype;
+							wmManipulatorGroup *mgroup = wm_manipulatorgroup_new_from_type(mgrouptype);
 
 							/* just add here, drawing will occur on next update */
 							BLI_addtail(&mmap->manipulator_groups, mgroup);
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
index d7e3062..2e1c14a 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
@@ -98,8 +98,7 @@ wmManipulatorMap *WM_manipulatormap_from_type(const struct wmManipulatorMapType_
 	     mgrouptype;
 	     mgrouptype = mgrouptype->next)
 	{
-		wmManipulatorGroup *mgroup = MEM_callocN(sizeof(wmManipulatorGroup), "manipulatorgroup");
-		mgroup->type = mgrouptype;
+		wmManipulatorGroup *mgroup = wm_manipulatorgroup_new_from_type(mgrouptype);
 		BLI_addtail(&mmap->manipulator_groups, mgroup);
 	}




More information about the Bf-blender-cvs mailing list