diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-05-18 10:35:10 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-05-18 10:40:52 +0300 |
commit | 987d1df57159afd57f33d7e58681be2fcdebda16 (patch) | |
tree | f782562c40bc1bf3fe23a455779f7e30d4cd8559 /source/blender/editors/screen | |
parent | 8faa59441371311a435b80487fe81eb60ea2e4fe (diff) |
Tool System: store the active tool in ScrArea
Without this we need to have the context to get the
(space_type, mode) args for an active tool lookup.
For event handling & poll its more convenient to have direct access.
Diffstat (limited to 'source/blender/editors/screen')
-rw-r--r-- | source/blender/editors/screen/area.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 24d6b7c6ecf..4c5ba38984b 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -1393,7 +1393,10 @@ void ED_area_update_region_sizes(wmWindowManager *wm, wmWindow *win, ScrArea *ar /* called in screen_refresh, or screens_init, also area size changes */ void ED_area_initialize(wmWindowManager *wm, wmWindow *win, ScrArea *sa) { - const bScreen *screen = WM_window_get_active_screen(win); + WorkSpace *workspace = WM_window_get_active_workspace(win); + const bScreen *screen = BKE_workspace_active_screen_get(win->workspace_hook); + Scene *scene = WM_window_get_active_scene(win); + const int window_size_x = WM_window_pixels_x(win); const int window_size_y = WM_window_pixels_y(win); ARegion *ar; @@ -1452,6 +1455,8 @@ void ED_area_initialize(wmWindowManager *wm, wmWindow *win, ScrArea *sa) /* Some AZones use View2D data which is only updated in region init, so call that first! */ region_azones_add(screen, sa, ar, ar->alignment & ~RGN_SPLIT_PREV); } + + WM_toolsystem_refresh_screen_area(workspace, scene, sa); } static void region_update_rect(ARegion *ar) |