Merge branch 'blender-v3.4-release'
This commit is contained in:
commit
6940c4b602
|
@ -355,6 +355,8 @@ static void gwl_window_frame_update_from_pending_lockfree(GWL_Window *win)
|
|||
|
||||
#endif
|
||||
|
||||
bool do_redraw = false;
|
||||
|
||||
if (win->frame_pending.size[0] != 0 && win->frame_pending.size[1] != 0) {
|
||||
if ((win->frame.size[0] != win->frame_pending.size[0]) ||
|
||||
(win->frame.size[1] != win->frame_pending.size[1])) {
|
||||
|
@ -362,6 +364,9 @@ static void gwl_window_frame_update_from_pending_lockfree(GWL_Window *win)
|
|||
}
|
||||
}
|
||||
|
||||
bool is_active_ghost = (win->ghost_window ==
|
||||
win->ghost_system->getWindowManager()->getActiveWindow());
|
||||
|
||||
if (win->frame_pending.is_active) {
|
||||
win->ghost_window->activate();
|
||||
}
|
||||
|
@ -369,6 +374,10 @@ static void gwl_window_frame_update_from_pending_lockfree(GWL_Window *win)
|
|||
win->ghost_window->deactivate();
|
||||
}
|
||||
|
||||
if (is_active_ghost != win->frame_pending.is_active) {
|
||||
do_redraw = true;
|
||||
}
|
||||
|
||||
win->frame_pending.size[0] = win->frame.size[0];
|
||||
win->frame_pending.size[1] = win->frame.size[1];
|
||||
|
||||
|
@ -377,6 +386,15 @@ static void gwl_window_frame_update_from_pending_lockfree(GWL_Window *win)
|
|||
/* Signal not to apply the scale unless it's configured. */
|
||||
win->frame_pending.size[0] = 0;
|
||||
win->frame_pending.size[1] = 0;
|
||||
|
||||
if (do_redraw) {
|
||||
#ifdef USE_EVENT_BACKGROUND_THREAD
|
||||
/* Could swap buffers, use pending to a redundant call in some cases. */
|
||||
gwl_window_pending_actions_tag(win, PENDING_SWAP_BUFFERS);
|
||||
#else
|
||||
win->ghost_window->swapBuffers();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
static void gwl_window_frame_update_from_pending(GWL_Window *win)
|
||||
|
|
Loading…
Reference in New Issue