1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-29 15:00:27 +00:00

win32: clear background only on first paint

Some users report visible black frames during window resize, this should
not happen in most cases. Let's just keep stale content as it is less
distracting. While still clearing on first window paint to avoid white
background.

Fixes: #12642
This commit is contained in:
Kacper Michajłow 2023-10-16 05:37:00 +02:00 committed by Dudemanguy
parent d305dc8d25
commit 94b7584972

View File

@ -179,6 +179,8 @@ struct vo_w32_state {
int snap_dy;
HANDLE avrt_handle;
bool cleared;
};
static void adjust_window_rect(struct vo_w32_state *w32, HWND hwnd, RECT *rc)
@ -1209,10 +1211,11 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
switch (message) {
case WM_ERASEBKGND:
if (!w32->parent && (!w32->opts->border || w32->current_fs))
if (w32->cleared || !w32->opts->border || w32->current_fs)
return TRUE;
break;
case WM_PAINT:
w32->cleared = true;
signal_events(w32, VO_EVENT_EXPOSE);
break;
case WM_MOVE: {