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:
-rw-r--r--source/blender/editors/interface/interface_region_popup.c4
-rw-r--r--source/blender/editors/screen/screen_edit.c4
-rw-r--r--source/blender/makesdna/DNA_screen_types.h2
-rw-r--r--source/blender/makesdna/DNA_windowmanager_types.h3
-rw-r--r--source/blender/windowmanager/intern/wm_toolsystem.c5
5 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/editors/interface/interface_region_popup.c b/source/blender/editors/interface/interface_region_popup.c
index b72cc7296db..b509f5e352b 100644
--- a/source/blender/editors/interface/interface_region_popup.c
+++ b/source/blender/editors/interface/interface_region_popup.c
@@ -554,8 +554,8 @@ static void ui_popup_block_remove(bContext *C, uiPopupBlockHandle *handle)
CTX_wm_region_set(C, ctx_ar);
/* reset to region cursor (only if there's not another menu open) */
- if ((ctx_sa != NULL) && (BLI_listbase_is_empty(&sc->regionbase))) {
- ctx_sa->flag |= AREA_FLAG_CURSOR_UPDATE;
+ if (BLI_listbase_is_empty(&sc->regionbase)) {
+ win->tag_cursor_refresh = true;
}
if (handle->scrolltimer) {
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 23a6704a617..1fd3f258e6c 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -401,8 +401,8 @@ int screen_area_join(bContext *C, bScreen *scr, ScrArea *sa1, ScrArea *sa2)
static void region_cursor_set_ex(wmWindow *win, ScrArea *sa, ARegion *ar, bool swin_changed)
{
BLI_assert(WM_window_get_active_screen(win)->active_region == ar);
- if (sa->flag & AREA_FLAG_CURSOR_UPDATE || swin_changed || (ar->type && ar->type->event_cursor)) {
- sa->flag &= ~AREA_FLAG_CURSOR_UPDATE;
+ if (win->tag_cursor_refresh || swin_changed || (ar->type && ar->type->event_cursor)) {
+ win->tag_cursor_refresh = false;
ED_region_cursor_set(win, sa, ar);
}
}
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index c0e62f01e66..8fec5354d36 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -474,7 +474,7 @@ enum {
/** Update size of regions within the area. */
AREA_FLAG_REGION_SIZE_UPDATE = (1 << 3),
AREA_FLAG_ACTIVE_TOOL_UPDATE = (1 << 4),
- AREA_FLAG_CURSOR_UPDATE = (1 << 5),
+ // AREA_FLAG_UNUSED_5 = (1 << 5),
AREA_FLAG_UNUSED_6 = (1 << 6), /* cleared */
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h
index b1a797a35fe..8393ca6485f 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -254,7 +254,8 @@ typedef struct wmWindow {
short grabcursor;
/** Internal: tag this for extra mousemove event,
* makes cursors/buttons active on UI switching. */
- short addmousemove;
+ char addmousemove;
+ char tag_cursor_refresh;
/** Winid also in screens, is for retrieving this window after read. */
int winid;
diff --git a/source/blender/windowmanager/intern/wm_toolsystem.c b/source/blender/windowmanager/intern/wm_toolsystem.c
index 9184a2b4566..e335800636c 100644
--- a/source/blender/windowmanager/intern/wm_toolsystem.c
+++ b/source/blender/windowmanager/intern/wm_toolsystem.c
@@ -377,10 +377,9 @@ void WM_toolsystem_ref_set_from_runtime(struct bContext *C,
/* Set the cursor if possible, if not - it's fine as entering the region will refresh it. */
{
wmWindow *win = CTX_wm_window(C);
- ScrArea *sa = CTX_wm_area(C);
- if (win && sa) {
+ if (win != NULL) {
win->addmousemove = true;
- sa->flag |= AREA_FLAG_CURSOR_UPDATE;
+ win->tag_cursor_refresh = true;
}
}