Wayland: Fix missing fullscreen code path

glfwRestoreWindow assumed it was only called in windowed mode.
This commit is contained in:
Camilla Löwy 2022-06-19 18:30:03 +02:00
parent f39ffefb6a
commit fdc72edf81
2 changed files with 12 additions and 3 deletions

View File

@ -338,6 +338,7 @@ information on what to include when reporting a bug.
- [Wayland] Bugfix: A window maximized or restored by the user would enter an - [Wayland] Bugfix: A window maximized or restored by the user would enter an
inconsistent state inconsistent state
- [Wayland] Bugfix: Window maximization events were not emitted - [Wayland] Bugfix: Window maximization events were not emitted
- [Wayland] Bugfix: `glfwRestoreWindow` assumed it was always in windowed mode
- [POSIX] Removed use of deprecated function `gettimeofday` - [POSIX] Removed use of deprecated function `gettimeofday`
- [POSIX] Bugfix: `CLOCK_MONOTONIC` was not correctly tested for or enabled - [POSIX] Bugfix: `CLOCK_MONOTONIC` was not correctly tested for or enabled
- [WGL] Disabled the DWM swap interval hack for Windows 8 and later (#1072) - [WGL] Disabled the DWM swap interval hack for Windows 8 and later (#1072)

View File

@ -1912,13 +1912,21 @@ void _glfwIconifyWindowWayland(_GLFWwindow* window)
void _glfwRestoreWindowWayland(_GLFWwindow* window) void _glfwRestoreWindowWayland(_GLFWwindow* window)
{ {
if (window->wl.xdg.toplevel) if (window->monitor)
{ {
if (window->wl.maximized)
xdg_toplevel_unset_maximized(window->wl.xdg.toplevel);
// There is no way to unset minimized, or even to know if we are // There is no way to unset minimized, or even to know if we are
// minimized, so there is nothing to do in this case. // minimized, so there is nothing to do in this case.
} }
else
{
// We assume we are not minimized and acto only on maximization
if (window->wl.xdg.toplevel)
{
if (window->wl.maximized)
xdg_toplevel_unset_maximized(window->wl.xdg.toplevel);
}
}
} }
void _glfwMaximizeWindowWayland(_GLFWwindow* window) void _glfwMaximizeWindowWayland(_GLFWwindow* window)