Fix own mistake from 4cb4556fa5
Trying to close Blender from a second window wouldn't work, the first window would have to be hovered first. Ouch!
This commit is contained in:
@@ -186,7 +186,7 @@ enum {
|
|||||||
struct wmEventHandler *WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes);
|
struct wmEventHandler *WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes);
|
||||||
|
|
||||||
/* mouse */
|
/* mouse */
|
||||||
void WM_event_add_mousemove(struct bContext *C);
|
void WM_event_add_mousemove(const struct bContext *C);
|
||||||
bool WM_event_is_modal_tweak_exit(const struct wmEvent *event, int tweak_event);
|
bool WM_event_is_modal_tweak_exit(const struct wmEvent *event, int tweak_event);
|
||||||
bool WM_event_is_last_mousemove(const struct wmEvent *event);
|
bool WM_event_is_last_mousemove(const struct wmEvent *event);
|
||||||
|
|
||||||
|
@@ -2919,7 +2919,7 @@ static void WM_event_remove_handler(ListBase *handlers, wmEventHandler *handler)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void WM_event_add_mousemove(bContext *C)
|
void WM_event_add_mousemove(const bContext *C)
|
||||||
{
|
{
|
||||||
wmWindow *window = CTX_wm_window(C);
|
wmWindow *window = CTX_wm_window(C);
|
||||||
|
|
||||||
|
@@ -450,12 +450,11 @@ void wm_exit_schedule_delayed(const bContext *C)
|
|||||||
/* What we do here is a little bit hacky, but quite simple and doesn't require bigger
|
/* What we do here is a little bit hacky, but quite simple and doesn't require bigger
|
||||||
* changes: Add a handler wrapping WM_exit() to cause a delayed call of it. */
|
* changes: Add a handler wrapping WM_exit() to cause a delayed call of it. */
|
||||||
|
|
||||||
wmWindowManager *wm = CTX_wm_manager(C);
|
wmWindow *win = CTX_wm_window(C);
|
||||||
/* Doesn't matter which window we use. */
|
|
||||||
wmWindow *win = wm->windows.first;
|
|
||||||
|
|
||||||
/* Use modal UI handler for now. Could add separate WM handlers or so, but probably not worth it. */
|
/* Use modal UI handler for now. Could add separate WM handlers or so, but probably not worth it. */
|
||||||
WM_event_add_ui_handler(C, &win->modalhandlers, wm_exit_handler, NULL, NULL, 0);
|
WM_event_add_ui_handler(C, &win->modalhandlers, wm_exit_handler, NULL, NULL, 0);
|
||||||
|
WM_event_add_mousemove(C); /* ensure handler actually gets called */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user