Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-06-28 11:10:43 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-06-28 11:22:53 +0300
commit9bcab8050f44e5bd36a0715811ee0355e4b221b6 (patch)
tree31d3d4abe5027df7759ae8dd8174fccd02fcb45b /source/blender/windowmanager/gizmo/WM_gizmo_api.h
parenteac11046a151dd1dfc175f2c3faf00a3baa99956 (diff)
Fix T63694: Crash using tool gizmos with multiple windows
Gizmo group types now store a user count so they aren't unlinked while other tools are using them. The tool system now works with multiple windows.
Diffstat (limited to 'source/blender/windowmanager/gizmo/WM_gizmo_api.h')
-rw-r--r--source/blender/windowmanager/gizmo/WM_gizmo_api.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/windowmanager/gizmo/WM_gizmo_api.h b/source/blender/windowmanager/gizmo/WM_gizmo_api.h
index 293b0cd91dc..5896424d5fe 100644
--- a/source/blender/windowmanager/gizmo/WM_gizmo_api.h
+++ b/source/blender/windowmanager/gizmo/WM_gizmo_api.h
@@ -34,6 +34,7 @@ struct GHashIterator;
struct IDProperty;
struct Main;
struct PropertyRNA;
+struct ScrArea;
struct bToolRef;
struct wmGizmo;
struct wmGizmoGroup;
@@ -166,6 +167,8 @@ void WM_gizmoconfig_update_tag_group_type_remove(struct wmGizmoMapType *gzmap_ty
struct wmGizmoGroupType *gzgt);
void WM_gizmoconfig_update(struct Main *bmain);
+void WM_gizmoconfig_update_tag_group_remove(struct wmGizmoMap *gzmap);
+
/* wm_maniulator_target_props.c */
struct wmGizmoProperty *WM_gizmo_target_property_array(struct wmGizmo *gz);
struct wmGizmoProperty *WM_gizmo_target_property_at_index(struct wmGizmo *gz, int index);
@@ -354,6 +357,10 @@ void WM_gizmo_group_type_unlink_delayed_ptr_ex(struct wmGizmoGroupType *gzgt,
void WM_gizmo_group_type_unlink_delayed_ptr(struct wmGizmoGroupType *gzgt);
void WM_gizmo_group_type_unlink_delayed(const char *idname);
+void WM_gizmo_group_unlink_delayed_ptr_from_space(struct wmGizmoGroupType *gzgt,
+ struct wmGizmoMapType *gzmap_type,
+ struct ScrArea *sa);
+
/* Has the result of unlinking and linking (re-initializes gizmo's). */
void WM_gizmo_group_type_reinit_ptr_ex(struct Main *bmain,
struct wmGizmoGroupType *gzgt,
@@ -370,4 +377,6 @@ void WM_gizmo_group_remove_by_tool(struct bContext *C,
const struct wmGizmoGroupType *gzgt,
const struct bToolRef *tref);
+void WM_gizmo_group_tag_remove(struct wmGizmoGroup *gzgroup);
+
#endif /* __WM_GIZMO_API_H__ */