From 7680190768af903ae43ab57a076560dc6db2f7f8 Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Mon, 13 Oct 2025 14:57:28 +0800 Subject: [PATCH] Revert "Fix the sliding window problem in linux occur due to reparenting of the window during the decoration via tracking the parent of the window" This reverts commit 932afc3bf556a5522addb8114abad4a924d1a19f. --- platform/linuxbsd/x11/display_server_x11.cpp | 13 ------------- platform/linuxbsd/x11/display_server_x11.h | 1 - 2 files changed, 14 deletions(-) diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp index f30cbff4544..bf9a0b169db 100644 --- a/platform/linuxbsd/x11/display_server_x11.cpp +++ b/platform/linuxbsd/x11/display_server_x11.cpp @@ -4452,17 +4452,6 @@ void DisplayServerX11::_window_changed(XEvent *event) { return; } - // Readjusting the window position if the window is being reparented by the window manager for decoration - Window root, parent, *children; - unsigned int nchildren; - if (XQueryTree(x11_display, wd.x11_window, &root, &parent, &children, &nchildren) && wd.parent != parent) { - wd.parent = parent; - if (!wd.embed_parent) { - window_set_position(wd.position, window_id); - } - } - XFree(children); - { //the position in xconfigure is not useful here, obtain it manually int x = 0, y = 0; @@ -6447,8 +6436,6 @@ DisplayServerX11::WindowID DisplayServerX11::_create_window(WindowMode p_mode, V { wd.x11_window = XCreateWindow(x11_display, RootWindow(x11_display, visualInfo.screen), win_rect.position.x, win_rect.position.y, win_rect.size.width > 0 ? win_rect.size.width : 1, win_rect.size.height > 0 ? win_rect.size.height : 1, 0, visualInfo.depth, InputOutput, visualInfo.visual, valuemask, &windowAttributes); - wd.parent = RootWindow(x11_display, visualInfo.screen); - DEBUG_LOG_X11("CreateWindow window=%lu, parent: %lu \n", wd.x11_window, wd.parent); if (p_parent_window) { diff --git a/platform/linuxbsd/x11/display_server_x11.h b/platform/linuxbsd/x11/display_server_x11.h index 7dd14a4c79e..b3a5d7efcd1 100644 --- a/platform/linuxbsd/x11/display_server_x11.h +++ b/platform/linuxbsd/x11/display_server_x11.h @@ -164,7 +164,6 @@ class DisplayServerX11 : public DisplayServer { struct WindowData { Window x11_window; Window x11_xim_window; - Window parent; ::XIC xic; bool ime_active = false; bool ime_in_progress = false;