mirror of
https://github.com/glfw/glfw.git
synced 2024-11-10 00:51:47 +00:00
Wayland: Fix maximized state lost while hidden
If a window was created as maximized, or created as hidden and then iconified or maximized before first being shown, that state was lost and the window was shown as restored.
This commit is contained in:
parent
e52046955d
commit
77819c0c54
@ -357,6 +357,8 @@ information on what to include when reporting a bug.
|
||||
scale changed
|
||||
- [Wayland] Bugfix: `glfwSetWindowAspectRatio` reported an error instead of
|
||||
applying the specified ratio
|
||||
- [Wayland] Bugfix: `GLFW_MAXIMIZED` window hint had no effect
|
||||
- [Wayland] Bugfix: `glfwRestoreWindow` had no effect before first show
|
||||
- [POSIX] Removed use of deprecated function `gettimeofday`
|
||||
- [POSIX] Bugfix: `CLOCK_MONOTONIC` was not correctly tested for or enabled
|
||||
- [WGL] Disabled the DWM swap interval hack for Windows 8 and later (#1072)
|
||||
|
@ -702,6 +702,8 @@ static GLFWbool createNativeSurface(_GLFWwindow* window,
|
||||
window->wl.scale = 1;
|
||||
window->wl.title = _glfw_strdup(wndconfig->title);
|
||||
|
||||
window->wl.maximized = wndconfig->maximized;
|
||||
|
||||
window->wl.transparent = fbconfig->transparent;
|
||||
if (!window->wl.transparent)
|
||||
setOpaqueRegion(window);
|
||||
@ -2003,10 +2005,12 @@ void _glfwRestoreWindowWayland(_GLFWwindow* window)
|
||||
{
|
||||
// We assume we are not minimized and acto only on maximization
|
||||
|
||||
if (window->wl.xdg.toplevel)
|
||||
{
|
||||
if (window->wl.maximized)
|
||||
{
|
||||
if (window->wl.xdg.toplevel)
|
||||
xdg_toplevel_unset_maximized(window->wl.xdg.toplevel);
|
||||
else
|
||||
window->wl.maximized = GLFW_FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2015,6 +2019,8 @@ void _glfwMaximizeWindowWayland(_GLFWwindow* window)
|
||||
{
|
||||
if (window->wl.xdg.toplevel)
|
||||
xdg_toplevel_set_maximized(window->wl.xdg.toplevel);
|
||||
else
|
||||
window->wl.maximized = GLFW_TRUE;
|
||||
}
|
||||
|
||||
void _glfwShowWindowWayland(_GLFWwindow* window)
|
||||
|
Loading…
Reference in New Issue
Block a user