mirror of https://github.com/encounter/SDL.git
Only check to see if the ICC profile changes when the display changes or we gain focus
Fixes https://github.com/libsdl-org/SDL/issues/6366
This commit is contained in:
parent
6ffc45b0ed
commit
61b5360e17
|
@ -449,6 +449,7 @@ WIN_UpdateFocus(SDL_Window *window, SDL_bool expect_focus)
|
||||||
SDL_ToggleModState(KMOD_NUM, (GetKeyState(VK_NUMLOCK) & 0x0001) != 0);
|
SDL_ToggleModState(KMOD_NUM, (GetKeyState(VK_NUMLOCK) & 0x0001) != 0);
|
||||||
SDL_ToggleModState(KMOD_SCROLL, (GetKeyState(VK_SCROLL) & 0x0001) != 0);
|
SDL_ToggleModState(KMOD_SCROLL, (GetKeyState(VK_SCROLL) & 0x0001) != 0);
|
||||||
|
|
||||||
|
WIN_UpdateWindowICCProfile(data->window, SDL_TRUE);
|
||||||
} else {
|
} else {
|
||||||
RECT rect;
|
RECT rect;
|
||||||
|
|
||||||
|
@ -697,7 +698,6 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
actually being the foreground window, but this appears to get called in all cases where
|
actually being the foreground window, but this appears to get called in all cases where
|
||||||
the global foreground window changes to and from this window. */
|
the global foreground window changes to and from this window. */
|
||||||
WIN_UpdateFocus(data->window, !!wParam);
|
WIN_UpdateFocus(data->window, !!wParam);
|
||||||
WIN_UpdateWindowICCProfile(data->window, SDL_TRUE);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1171,6 +1171,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
RECT rect;
|
RECT rect;
|
||||||
int x, y;
|
int x, y;
|
||||||
int w, h;
|
int w, h;
|
||||||
|
int display_index = data->window->display_index;
|
||||||
|
|
||||||
if (data->initializing || data->in_border_change) {
|
if (data->initializing || data->in_border_change) {
|
||||||
break;
|
break;
|
||||||
|
@ -1211,8 +1212,11 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
/* Forces a WM_PAINT event */
|
/* Forces a WM_PAINT event */
|
||||||
InvalidateRect(hwnd, NULL, FALSE);
|
InvalidateRect(hwnd, NULL, FALSE);
|
||||||
|
|
||||||
|
if (data->window->display_index != display_index) {
|
||||||
|
/* Display changed, check ICC profile */
|
||||||
WIN_UpdateWindowICCProfile(data->window, SDL_TRUE);
|
WIN_UpdateWindowICCProfile(data->window, SDL_TRUE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_SIZE:
|
case WM_SIZE:
|
||||||
|
|
Loading…
Reference in New Issue