Fixes the longstanding misbehavior of X window managers with respect to Delphi based applications.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26503
-- v3: winex11: Fix X11 WM behavior for Delphi based apps. Revert "winex11: add missing newline in TRACE." winex11: add missing newline in TRACE. winex11: Fix X11 WM behavior for Delphi based apps.
From: Roberto Fernandez rfz@free.fr
Fixes the longstanding misbehavior of X window managers with respect to Delphi based applications.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26503 --- dlls/winex11.drv/event.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 86edf66b820..3efeb8fcdb4 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -731,7 +731,16 @@ static void handle_wm_protocols( HWND hwnd, XClientMessageEvent *event ) if (hwnd) hwnd = NtUserGetAncestor( hwnd, GA_ROOT ); if (!hwnd) hwnd = get_active_window(); if (!hwnd) hwnd = last_focus; - if (hwnd && can_activate_window(hwnd)) set_focus( event->display, hwnd, event_time ); + if (hwnd && can_activate_window(hwnd)) + { + Window win = X11DRV_get_whole_window(hwnd); + if (win) + { + TRACE("will raise window %p", hwnd); + XRaiseWindow(event->display, win); + } + set_focus( event->display, hwnd, event_time ); + } } else if (protocol == x11drv_atom(_NET_WM_PING)) {
From: Roberto Fernandez rfz@free.fr
--- dlls/winex11.drv/event.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 3efeb8fcdb4..66082439189 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -736,7 +736,7 @@ static void handle_wm_protocols( HWND hwnd, XClientMessageEvent *event ) Window win = X11DRV_get_whole_window(hwnd); if (win) { - TRACE("will raise window %p", hwnd); + TRACE("will raise window %p\n", hwnd); XRaiseWindow(event->display, win); } set_focus( event->display, hwnd, event_time );
From: Roberto Fernandez rfz@free.fr
This reverts commit 61111f5a1133b5f3a55479a47c04f78656184b62. --- dlls/winex11.drv/event.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 66082439189..3efeb8fcdb4 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -736,7 +736,7 @@ static void handle_wm_protocols( HWND hwnd, XClientMessageEvent *event ) Window win = X11DRV_get_whole_window(hwnd); if (win) { - TRACE("will raise window %p\n", hwnd); + TRACE("will raise window %p", hwnd); XRaiseWindow(event->display, win); } set_focus( event->display, hwnd, event_time );
From: Roberto Fernandez rfz@free.fr
Fixes the longstanding misbehavior of X window managers with respect to Delphi based applications.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26503 --- dlls/winex11.drv/event.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 3efeb8fcdb4..66082439189 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -736,7 +736,7 @@ static void handle_wm_protocols( HWND hwnd, XClientMessageEvent *event ) Window win = X11DRV_get_whole_window(hwnd); if (win) { - TRACE("will raise window %p", hwnd); + TRACE("will raise window %p\n", hwnd); XRaiseWindow(event->display, win); } set_focus( event->display, hwnd, event_time );
`git rebase -i master` Then put an s before all commits but the first commit. (Make sure to read the description at the bottom first tho) Afterwards `git push -f` to the merge branch.
On Sat Feb 18 17:20:58 2023 +0000, Bernhard Kölbl wrote:
`git rebase -i master` Then put an s before all commits but the first commit. (Make sure to read the description at the bottom first tho) Afterwards `git push -f` to the merge branch.
Actually I noticed this might not work so better try `git rebase -i @~4`