diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-06-28 10:35:40 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-06-28 10:38:42 +0300 |
commit | 9ec8887599b1c14dac47cca1a073fa50b333d5ee (patch) | |
tree | ab26fd2c103e3585b1622bdf80bd8ef86fd0cd48 /source/blender | |
parent | bd227d13787ccecabb5005d7211ce6ce04f60104 (diff) |
Fix invalid area tool being set from message passing
This wasn't working with multiple windows,
WM_toolsystem_do_msg_notify_tag_refresh could use a workspace
from a different window to the screen that owned the area.
Instead of fixing, remove these since they aren't needed anymore
since changing modes now refreshes the tool system.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/space_view3d/space_view3d.c | 12 | ||||
-rw-r--r-- | source/blender/windowmanager/WM_toolsystem.h | 4 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_toolsystem.c | 17 |
3 files changed, 1 insertions, 32 deletions
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index c1891865d6d..a90e59745be 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -980,7 +980,7 @@ static void view3d_main_region_message_subscribe(const struct bContext *C, struct WorkSpace *UNUSED(workspace), struct Scene *UNUSED(scene), struct bScreen *UNUSED(screen), - struct ScrArea *sa, + struct ScrArea *UNUSED(sa), struct ARegion *ar, struct wmMsgBus *mbus) { @@ -1054,16 +1054,6 @@ static void view3d_main_region_message_subscribe(const struct bContext *C, break; } } - - { - wmMsgSubscribeValue msg_sub_value_region_tag_refresh = { - .owner = ar, - .user_data = sa, - .notify = WM_toolsystem_do_msg_notify_tag_refresh, - }; - WM_msg_subscribe_rna_anon_prop(mbus, Object, mode, &msg_sub_value_region_tag_refresh); - WM_msg_subscribe_rna_anon_prop(mbus, LayerObjects, active, &msg_sub_value_region_tag_refresh); - } } /* concept is to retrieve cursor type context-less */ diff --git a/source/blender/windowmanager/WM_toolsystem.h b/source/blender/windowmanager/WM_toolsystem.h index 5afa0a88560..4d4cb95ec1c 100644 --- a/source/blender/windowmanager/WM_toolsystem.h +++ b/source/blender/windowmanager/WM_toolsystem.h @@ -99,10 +99,6 @@ void WM_toolsystem_update_from_context(struct bContext *C, bool WM_toolsystem_active_tool_is_brush(const struct bContext *C); -void WM_toolsystem_do_msg_notify_tag_refresh(struct bContext *C, - struct wmMsgSubscribeKey *msg_key, - struct wmMsgSubscribeValue *msg_val); - struct IDProperty *WM_toolsystem_ref_properties_ensure_idprops(struct bToolRef *tref); void WM_toolsystem_ref_properties_ensure_ex(struct bToolRef *tref, const char *idname, diff --git a/source/blender/windowmanager/intern/wm_toolsystem.c b/source/blender/windowmanager/intern/wm_toolsystem.c index ae9c6e267e2..1ea39dcd6e0 100644 --- a/source/blender/windowmanager/intern/wm_toolsystem.c +++ b/source/blender/windowmanager/intern/wm_toolsystem.c @@ -764,23 +764,6 @@ bool WM_toolsystem_active_tool_is_brush(const bContext *C) return tref_rt && (tref_rt->data_block[0] != '\0'); } -/* Follow wmMsgNotifyFn spec */ -void WM_toolsystem_do_msg_notify_tag_refresh(bContext *C, - wmMsgSubscribeKey *UNUSED(msg_key), - wmMsgSubscribeValue *msg_val) -{ - WorkSpace *workspace = CTX_wm_workspace(C); - ViewLayer *view_layer = CTX_data_view_layer(C); - ScrArea *sa = msg_val->user_data; - int space_type = sa->spacetype; - const bToolKey tkey = { - .space_type = space_type, - .mode = WM_toolsystem_mode_from_spacetype(view_layer, sa, sa->spacetype), - }; - WM_toolsystem_refresh(C, workspace, &tkey); - WM_toolsystem_refresh_screen_area(workspace, view_layer, sa); -} - IDProperty *WM_toolsystem_ref_properties_ensure_idprops(bToolRef *tref) { if (tref->properties == NULL) { |