http://bugs.winehq.org/show_bug.cgi?id=11026
Summary: newly created tool window does not have keyboard focus Product: Wine Version: 0.9.52. Platform: PC OS/Version: Linux Status: NEW Severity: minor Priority: P2 Component: wine-misc AssignedTo: wine-bugs@winehq.org ReportedBy: thestig@google.com
I found this problem in Picasa, but it may affect other applications as well.
In Picasa, select a picture and press Ctrl + k to bring up the keywords tool window. Now press Alt + F4 to close the window.
On Windows, the keywords window is active. Pressing Alt + F4 closes the keywords tool window.
On KDE, both the main window and the keywords window look like they are active. If you start typing, the letters go into the keywords window, but if you press Alt + F4, the main window closes. (and the tool window with it)
On Gnome, when the keywords tool window pops up, the keywords window looks like the active window, but neither it nor the main window have focus.
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #1 from Lei Zhang thestig@google.com 2008-01-03 18:22:29 --- Created an attachment (id=10024) --> (http://bugs.winehq.org/attachment.cgi?id=10024) test case
http://bugs.winehq.org/show_bug.cgi?id=11026
Lei Zhang thestig@google.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #2 from Dmitry Timoshkov dmitry@codeweavers.com 2008-01-04 02:51:22 --- Below is the result of an investigation while playing with attached test.
The problem under Gnome is that the WM doesn't activate a window with _NET_WM_WINDOW_TYPE_UTILITY type. You have to click on it, then Alt+F4 works. Once I comment out assigning _NET_WM_WINDOW_TYPE_UTILITY to WS_EX_TOOLWINDOW windows in dlls/winex11.drv/window.c there is no need to click on a window, and Alt+F4 works without additional clicks.
Perhaps in that case we need to set input focus manually without relying on WM to do that.
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #3 from Dmitry Timoshkov dmitry@codeweavers.com 2008-01-04 02:56:22 --- (In reply to comment #0)
On KDE, both the main window and the keywords window look like they are active. If you start typing, the letters go into the keywords window, but if you press Alt + F4, the main window closes. (and the tool window with it)
The above looks like a KDE bug. On Alt+F4 it should send a WM_DELETE_WINDOW event to a window with keyboard focus.
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #4 from Lei Zhang thestig@google.com 2008-01-04 15:57:08 --- (In reply to comment #3)
(In reply to comment #0)
On KDE, both the main window and the keywords window look like they are active. If you start typing, the letters go into the keywords window, but if you press Alt + F4, the main window closes. (and the tool window with it)
The above looks like a KDE bug. On Alt+F4 it should send a WM_DELETE_WINDOW event to a window with keyboard focus.
I looked at the +event output while running the test program:
with the mouse outside the tool window:
trace:event:process_events processed 1 events trace:event:process_events FocusOut for hwnd/window 0x10024/3c00001 trace:event:EVENT_FocusOut win 0x10024 xwin 3c00001 detail=NotifyAncestor trace:event:process_events FocusIn for hwnd/window 0x10024/3c00001 trace:event:EVENT_FocusIn win 0x10024 xwin 3c00001 detail=NotifyAncestor trace:event:process_events KeymapNotify for hwnd/window (nil)/0
with the mouse inside the tool window:
trace:event:process_events processed 1 events trace:event:process_events FocusOut for hwnd/window 0x10024/3c00001 trace:event:EVENT_FocusOut win 0x10024 xwin 3c00001 detail=NotifyAncestor trace:event:process_events FocusIn for hwnd/window 0x10028/3c00007 trace:event:EVENT_FocusIn win 0x10028 xwin 3c00007 detail=NotifyPointer trace:event:process_events KeymapNotify for hwnd/window (nil)/0 trace:event:process_events FocusOut for hwnd/window 0x10028/3c00007 trace:event:EVENT_FocusOut win 0x10028 xwin 3c00007 detail=NotifyPointer trace:event:process_events FocusIn for hwnd/window 0x10024/3c00001 trace:event:EVENT_FocusIn win 0x10024 xwin 3c00001 detail=NotifyAncestor trace:event:process_events KeymapNotify for hwnd/window (nil)/0
win 0x10024 is the parent window, and 0x10028 is the tool window. In either case, the parent window has focus, so it's correctly receiving the WM_DELETE_WINDOW event.
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #5 from Dmitry Timoshkov dmitry@codeweavers.com 2008-01-04 22:48:14 --- (In reply to comment #4)
win 0x10024 is the parent window, and 0x10028 is the tool window. In either case, the parent window has focus, so it's correctly receiving the WM_DELETE_WINDOW event.
You said that when "you start typing, the letters go into the keywords window", that means that the keyboard input focus is set to the tool window. But on Alt+F4 key presses (which should be sent to the tool window as well) WM sends WM_DELETE_WINDOW to a parent.
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #6 from Lei Zhang thestig@google.com 2008-01-08 17:06:54 --- (In reply to comment #5)
You said that when "you start typing, the letters go into the keywords window", that means that the keyboard input focus is set to the tool window. But on Alt+F4 key presses (which should be sent to the tool window as well) WM sends WM_DELETE_WINDOW to a parent.
I tried running Picasa on KDE with +event. (annotated user actions are in [])
[select a picture] ...
[press ctrl] trace:event:process_events KeyPress for hwnd/window 0x1002e/5800002 trace:event:process_events processed 1 events [press k] trace:event:process_events KeyPress for hwnd/window 0x1002e/5800002 trace:event:process_events processed 1 events trace:event:process_events ConfigureNotify for hwnd/window 0x2003e/5800027 trace:event:process_events ReparentNotify, ignoring trace:event:process_events ConfigureNotify for hwnd/window 0x2003e/5800027 trace:event:process_events MapNotify for hwnd/window 0x2003e/5800027 trace:event:process_events Expose for hwnd/window 0x2003e/5800027 trace:event:process_events processed 5 events [release k] trace:event:process_events KeyRelease for hwnd/window 0x1002e/5800002 trace:event:process_events processed 1 events [release ctrl] trace:event:process_events KeyRelease for hwnd/window 0x1002e/5800002 trace:event:process_events processed 1 events [type a character] trace:event:process_events KeyPress for hwnd/window 0x1002e/5800002 trace:event:process_events processed 1 events trace:event:process_events KeyRelease for hwnd/window 0x1002e/5800002 trace:event:process_events processed 1 events [type another character] trace:event:process_events KeyPress for hwnd/window 0x1002e/5800002 trace:event:process_events processed 1 events trace:event:process_events KeyRelease for hwnd/window 0x1002e/5800002 trace:event:process_events processed 1 events ...
the characters are going into the keywords window, but it looks like the parent window is getting the events?
http://bugs.winehq.org/show_bug.cgi?id=11026
Lei Zhang thestig@google.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #10024|0 |1 is obsolete| |
--- Comment #7 from Lei Zhang thestig@google.com 2008-01-08 17:35:11 --- Created an attachment (id=10126) --> (http://bugs.winehq.org/attachment.cgi?id=10126) test case with an edit box
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #8 from Dmitry Timoshkov dmitry@codeweavers.com 2008-01-09 01:56:32 --- If you generate a +event,+key log that would make it more clear what is going on. A test case with an edit control is not that useful since the edit is a child window and doesn't have its own x11 window.
http://bugs.winehq.org/show_bug.cgi?id=11026
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dmitry@codeweavers.com
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #9 from Lei Zhang thestig@google.com 2008-01-09 12:28:01 --- Created an attachment (id=10141) --> (http://bugs.winehq.org/attachment.cgi?id=10141) +event,+key log
http://bugs.winehq.org/show_bug.cgi?id=11026
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #10 from Dan Kegel dank@kegel.com 2008-04-02 08:07:59 --- see also bug 11111
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #11 from Dmitry Timoshkov dmitry@codeweavers.com 2008-04-06 23:39:03 --- I sent a patch:
http://www.winehq.org/pipermail/wine-patches/2008-April/052861.html
http://bugs.winehq.org/show_bug.cgi?id=11026
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #12 from Dmitry Timoshkov dmitry@codeweavers.com 2008-04-07 21:51:07 --- The patch has been committed.
http://bugs.winehq.org/show_bug.cgi?id=11026
--- Comment #13 from Lei Zhang thestig@google.com 2008-04-07 22:00:35 --- The keywords dialog box works in Metacity now. In KDE, pressing alt+F4 will still close Picasa instead of the dialog box. I'll open a new bug for that.
http://bugs.winehq.org/show_bug.cgi?id=11026
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Alexandre Julliard julliard@winehq.org 2008-04-18 11:03:33 --- Closing bugs reported fixed in 0.9.60.