Closed
Bug 194180
Opened 23 years ago
Closed 22 years ago
[gtk2] OnContainerFocusOut may find wrong nswindow to dispatch deactive event
Categories
(Core :: XUL, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: iamawalrus, Assigned: blizzard)
References
Details
Attachments
(1 file)
561 bytes,
patch
|
blizzard
:
review+
|
Details | Diff | Splinter Review |
In OnContainerFocusOut(), there are codes like:
1486 // Figure out if the focus widget is the child of this window. If
1487 // it is, send a focus out and deactivate event for it.
1488 if (!gFocusWindow)
1489 return;
1490
1491 GdkWindow *tmpWindow;
1492 tmpWindow = (GdkWindow *)gFocusWindow->GetNativeData(NS_NATIVE_WINDOW);
1493 nsWindow *tmpnsWindow = get_window_for_gdk_window(tmpWindow);
1494
1495 while (tmpWindow && tmpnsWindow) {
1496 // found it!
1497 if (tmpnsWindow == gFocusWindow)
1498 goto foundit;
1499
1500 tmpWindow = gdk_window_get_parent(tmpWindow);
1501 if (!tmpWindow)
1502 break;
1503
1504 tmpnsWindow = get_owning_window_for_gdk_window(tmpWindow);
1505 }
In line 1497, tmpnsWindow is always equal to gFocusWindow at the first time
because tmpnsWindow is extracted from gFoucusWindow. Should it be "if
(tmpnsWindow == this)" instead ? This may deactive any current focused window.
Assignee | ||
Comment 2•23 years ago
|
||
Comment on attachment 114993 [details] [diff] [review]
patch
r=blizzard
Woops.
Attachment #114993 -
Flags: review+
checked in.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•