summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qapplication_win.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2009-05-06 22:04:41 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2009-05-06 22:04:41 (GMT)
commit014b5d404b19ad3d81686ba490eb7dd93efee573 (patch)
tree8fce9f8b172d4982270c5a91da0aa66fcb589f05 /src/gui/kernel/qapplication_win.cpp
parent2eb0312c96ab828809158802d4cb7e0980227389 (diff)
parent311978919f63c2c23dd09b4743ff12cf2a8a47bb (diff)
downloadQt-014b5d404b19ad3d81686ba490eb7dd93efee573.zip
Qt-014b5d404b19ad3d81686ba490eb7dd93efee573.tar.gz
Qt-014b5d404b19ad3d81686ba490eb7dd93efee573.tar.bz2
Merge branch '4.5' of git@scm.dev.troll.no:qt/qt
Conflicts: src/gui/kernel/qcocoaview_mac_p.h src/gui/widgets/qmainwindow.cpp
Diffstat (limited to 'src/gui/kernel/qapplication_win.cpp')
-rw-r--r--src/gui/kernel/qapplication_win.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 07b3865..f1ab90f 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -2429,10 +2429,12 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
widget = (QETWidget*)qApp->focusWidget();
HWND focus = ::GetFocus();
//if there is a current widget and the new widget belongs to the same toplevel window
+ //or if the current widget was embedded into non-qt window (i.e. we won't get WM_ACTIVATEAPP)
//then we clear the focus on the widget
//in case the new widget belongs to a different widget hierarchy, clearing the focus
//will be handled because the active window will change
- if (widget && ::IsChild(widget->window()->internalWinId(), focus)) {
+ const bool embedded = widget && ((QETWidget*)widget->window())->topData()->embedded;
+ if (widget && (embedded || ::IsChild(widget->window()->internalWinId(), focus))) {
widget->clearFocus();
result = true;
} else {