diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-07-09 19:13:13 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-07-09 19:14:41 +0300 |
commit | 113b053d5b4681022679405c4587cf50ba112418 (patch) | |
tree | eb263abe45746d37ebf9e4ba939c9934c41eb314 /source/blender/windowmanager/intern/wm_event_system.c | |
parent | 12d4ebcaa3a5c6629399e55d405119d3bc1125a9 (diff) |
WM: add utility function to refresh status bar
Diffstat (limited to 'source/blender/windowmanager/intern/wm_event_system.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 7e2198eed7a..8469dc9da0e 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -1973,11 +1973,7 @@ static int wm_handler_operator_call(bContext *C, ListBase *handlers, wmEventHand if (op->type->modalkeymap) { wmWindow *win = CTX_wm_window(C); - bScreen *sc = WM_window_get_active_screen(win); - ScrArea *sa = WM_window_find_area_status(win, sc); - if (sa != NULL) { - ED_area_tag_redraw(sa); - } + WM_window_status_area_tag_redraw(win); } } else { @@ -3211,11 +3207,7 @@ wmEventHandler *WM_event_add_modal_handler(bContext *C, wmOperator *op) BLI_addhead(&win->modalhandlers, handler); if (op->type->modalkeymap) { - bScreen *sc = WM_window_get_active_screen(win); - ScrArea *sa = WM_window_find_area_status(win, sc); - if (sa != NULL) { - ED_area_tag_redraw(sa); - } + WM_window_status_area_tag_redraw(win); } return handler; @@ -4352,7 +4344,7 @@ const char *WM_window_cursor_keymap_status_get(const wmWindow *win, int button_i * Similar to #BKE_screen_area_map_find_area_xy and related functions, * use here since the ara is stored in the window manager. */ -ScrArea *WM_window_find_area_status(wmWindow *win, bScreen *screen) +ScrArea *WM_window_status_area_find(wmWindow *win, bScreen *screen) { if (screen->state == SCREENFULL) { return NULL; @@ -4367,10 +4359,19 @@ ScrArea *WM_window_find_area_status(wmWindow *win, bScreen *screen) return sa_statusbar; } +void WM_window_status_area_tag_redraw(wmWindow *win) +{ + bScreen *sc = WM_window_get_active_screen(win); + ScrArea *sa = WM_window_status_area_find(win, sc); + if (sa != NULL) { + ED_area_tag_redraw(sa); + } +} + void WM_window_cursor_keymap_status_refresh(bContext *C, wmWindow *win) { bScreen *screen = WM_window_get_active_screen(win); - ScrArea *sa_statusbar = WM_window_find_area_status(win, screen); + ScrArea *sa_statusbar = WM_window_status_area_find(win, screen); if (sa_statusbar == NULL) { return; } |