diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-06-28 11:10:43 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-06-28 11:22:53 +0300 |
commit | 9bcab8050f44e5bd36a0715811ee0355e4b221b6 (patch) | |
tree | 31d3d4abe5027df7759ae8dd8174fccd02fcb45b /source/blender/windowmanager/gizmo/WM_gizmo_api.h | |
parent | eac11046a151dd1dfc175f2c3faf00a3baa99956 (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.h | 9 |
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__ */ |