diff options
author | Yuri Roubinsky <chaosus89@gmail.com> | 2020-02-03 18:28:23 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-03 18:28:23 +0300 |
commit | c4daac279b8ec6f4893056ba6717624f701ab970 (patch) | |
tree | b104c958bab896b72e73d33146b77ac1ed7fa5ec /platform | |
parent | e5cb4f03c554a48c6d0b400ad53d4fad933d4dc7 (diff) | |
parent | 90f00c0813b8335605c81b5d5063922efe5519e3 (diff) |
Merge pull request #35883 from Chaosus/fix_x11_window_restoring2
Restores correct window position after fullscreen toggling off on Linux
Diffstat (limited to 'platform')
-rw-r--r-- | platform/x11/os_x11.cpp | 7 | ||||
-rw-r--r-- | platform/x11/os_x11.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 8195006121..e40aa867f8 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -1433,7 +1433,11 @@ void OS_X11::set_window_fullscreen(bool p_enabled) { // Restore set_window_maximized(false); } - + if (!p_enabled) { + set_window_position(last_position_before_fs); + } else { + last_position_before_fs = get_window_position(); + } current_videomode.fullscreen = p_enabled; } @@ -3502,4 +3506,5 @@ OS_X11::OS_X11() { window_focused = true; xim_style = 0L; mouse_mode = MOUSE_MODE_VISIBLE; + last_position_before_fs = Vector2(); } diff --git a/platform/x11/os_x11.h b/platform/x11/os_x11.h index 01e5aac3df..25b406743b 100644 --- a/platform/x11/os_x11.h +++ b/platform/x11/os_x11.h @@ -115,6 +115,7 @@ class OS_X11 : public OS_Unix { // IME bool im_active; Vector2 im_position; + Vector2 last_position_before_fs; Size2 min_size; Size2 max_size; |