Closed
Bug 229471
Opened 21 years ago
Closed 21 years ago
close window widget on unfocused window focuses window
Categories
(Core :: DOM: UI Events & Focus Handling, defect)
Tracking
()
VERIFIED
FIXED
People
(Reporter: mrmazda, Assigned: grajaman)
Details
To reproduce: 1-Open some app 2-Open Mozilla 3-Focus the other app 4-Click the close window widget on the Mozilla titlebar Actual behavior: 1-Mozilla window is focused (OS/2 trunk 2003122508) Expected behavior: 1-Mozilla window is closed (OS/2 1.5, Win32 1.6b, Linux trunk 2003122208)
Warpzilla trunk 2003121708 (and older) -> WFM (Warpzilla gets closed) Warpzilla trunk 2003121808 (and newer) -> bug (Warpzilla gets focused) Win98SE Moz trunk 2003122608 (and 2003121508) -> WFM
Comment 3•21 years ago
|
||
I just checked in a fix for this. I had missed part of the IWB patch for the new focus code. Index: nsFrameWindow.cpp =================================================================== RCS file: /cvsroot/mozilla/widget/src/os2/nsFrameWindow.cpp,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- nsFrameWindow.cpp 17 Dec 2003 21:02:26 -0000 1.42 +++ nsFrameWindow.cpp 7 Jan 2004 22:07:23 -0000 1.43 @@ -442,10 +442,18 @@ } break; /* To simulate Windows better, we need to send a focus message to the */ - /* client when the frame is activated */ + /* client when the frame is activated if there is a non mozilla window focused */ case WM_ACTIVATE: - if (SHORT1FROMMP(mp1)) - WinPostMsg(mWnd, WM_FOCUSCHANGED, 0, MPFROM2SHORT(1,0)); + if (SHORT1FROMMP(mp1)) { + char className[19]; + ::WinQueryClassName(WinQueryFocus(HWND_DESKTOP), 19, className); + if (strcmp(className, WindowClass()) != 0) { +#ifdef DEBUG_FOCUS + printf("Extra WM_FOCUSCHANGED because className was %s on WM_ACTIVATE\n", className); +#endif + WinSendMsg(mWnd, WM_FOCUSCHANGED, 0, MPFROM2SHORT(1,0)); + } + } break; }
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Updated•5 years ago
|
Component: Event Handling → User events and focus handling
You need to log in
before you can comment on or make changes to this bug.
Description
•