diff options
author | Prasanth Ullattil <prasanth.ullattil@nokia.com> | 2009-10-22 14:39:14 (GMT) |
---|---|---|
committer | Prasanth Ullattil <prasanth.ullattil@nokia.com> | 2009-10-23 11:25:13 (GMT) |
commit | 3481db791c3b48e28f1a9531b247adf6562edb71 (patch) | |
tree | 201d9160ad1e31bc0986778345b3390474d0f967 /src/gui/styles/qwindowsxpstyle.cpp | |
parent | 19c60da9c15dc609d6d07c687a59d9c2c1a4da13 (diff) | |
download | Qt-3481db791c3b48e28f1a9531b247adf6562edb71.zip Qt-3481db791c3b48e28f1a9531b247adf6562edb71.tar.gz Qt-3481db791c3b48e28f1a9531b247adf6562edb71.tar.bz2 |
Remove internal widgets from QApplication::topLevelWidgets()
We have some internal hidden widgets which should not come up in the
QApplication::topLevelWidgets() list. So the known ones are being
removed from the QWidgetPrivate::allWidgets set.
Task-number: QTBUG-739
Reviewed-by: Denis Dzyubenko
Reviewed-by: Bradley T. Hughes
Diffstat (limited to 'src/gui/styles/qwindowsxpstyle.cpp')
-rw-r--r-- | src/gui/styles/qwindowsxpstyle.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gui/styles/qwindowsxpstyle.cpp b/src/gui/styles/qwindowsxpstyle.cpp index 9ef30e5..2f00f07 100644 --- a/src/gui/styles/qwindowsxpstyle.cpp +++ b/src/gui/styles/qwindowsxpstyle.cpp @@ -47,6 +47,7 @@ #include <private/qpaintengine_raster_p.h> #include <private/qapplication_p.h> #include <private/qstylehelper_p.h> +#include <private/qwidget_p.h> #include <qlibrary.h> #include <qpainter.h> #include <qpaintengine.h> @@ -299,7 +300,11 @@ HWND QWindowsXPStylePrivate::winId(const QWidget *widget) if (!limboWidget) { limboWidget = new QWidget(0); + limboWidget->createWinId(); limboWidget->setObjectName(QLatin1String("xp_limbo_widget")); + // We dont need this internal widget to appear in QApplication::topLevelWidgets() + if (QWidgetPrivate::allWidgets) + QWidgetPrivate::allWidgets->remove(limboWidget); } return limboWidget->winId(); |