summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorYuri Roubinsky <chaosus89@gmail.com>2020-02-03 18:28:23 +0300
committerGitHub <noreply@github.com>2020-02-03 18:28:23 +0300
commitc4daac279b8ec6f4893056ba6717624f701ab970 (patch)
treeb104c958bab896b72e73d33146b77ac1ed7fa5ec /platform
parente5cb4f03c554a48c6d0b400ad53d4fad933d4dc7 (diff)
parent90f00c0813b8335605c81b5d5063922efe5519e3 (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.cpp7
-rw-r--r--platform/x11/os_x11.h1
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;