Fix Floating Window not visible after restore on KDE

This commit is contained in:
Hilderin
2025-02-01 21:08:39 -05:00
parent 1586c5674b
commit 150191353f
2 changed files with 12 additions and 0 deletions

View File

@@ -261,6 +261,11 @@ void WindowWrapper::restore_window_from_saved_position(const Rect2 p_window_rect
window_rect = Rect2i(window_rect.position * screen_ratio, window_rect.size * screen_ratio);
window_rect.position += real_screen_rect.position;
// Make sure to restore the window if the user minimized it the last time it was displayed.
if (window->get_mode() == Window::MODE_MINIMIZED) {
window->set_mode(Window::MODE_WINDOWED);
}
// All good, restore the window.
window->set_current_screen(p_screen);
if (window->is_visible()) {

View File

@@ -4727,6 +4727,13 @@ void DisplayServerX11::process_events() {
// Have we failed to set fullscreen while the window was unmapped?
_validate_mode_on_map(window_id);
// On KDE Plasma, when the parent window of an embedded process is restored after being minimized,
// only the embedded window receives the Map notification, causing it to
// appear without its parent.
if (wd.embed_parent) {
XMapWindow(x11_display, wd.embed_parent);
}
} break;
case Expose: {