summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/widgets/kernel/qapplication.cpp3
-rw-r--r--src/widgets/kernel/qdesktopwidget.cpp11
-rw-r--r--src/widgets/kernel/qdesktopwidget_p.h11
3 files changed, 15 insertions, 10 deletions
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index f19a9d2e8e..3fe3c6951f 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -2556,8 +2556,7 @@ QWidget *QApplication::desktop(QScreen *screen)
}
if (!screen)
return qt_desktopWidget;
- QDesktopWidgetPrivate *dwp = static_cast<QDesktopWidgetPrivate*>(qt_widget_private(qt_desktopWidget));
- return dwp->widgetForScreen(screen);
+ return qt_desktopWidget->widgetForScreen(screen);
}
/*
diff --git a/src/widgets/kernel/qdesktopwidget.cpp b/src/widgets/kernel/qdesktopwidget.cpp
index db8c33c498..5c781222e1 100644
--- a/src/widgets/kernel/qdesktopwidget.cpp
+++ b/src/widgets/kernel/qdesktopwidget.cpp
@@ -107,6 +107,17 @@ QDesktopWidget::QDesktopWidget()
QDesktopWidget::~QDesktopWidget() = default;
+/*!
+ \internal
+ Returns the Qt::Desktop type widget for \a qScreen.
+*/
+QWidget *QDesktopWidget::widgetForScreen(QScreen *qScreen) const
+{
+ Q_D(const QDesktopWidget);
+ return d->screenWidgets.value(qScreen);
+}
+
+
QT_END_NAMESPACE
#include "moc_qdesktopwidget_p.cpp"
diff --git a/src/widgets/kernel/qdesktopwidget_p.h b/src/widgets/kernel/qdesktopwidget_p.h
index c17036b9d0..5e8c256040 100644
--- a/src/widgets/kernel/qdesktopwidget_p.h
+++ b/src/widgets/kernel/qdesktopwidget_p.h
@@ -68,25 +68,20 @@ public:
QDesktopWidget();
~QDesktopWidget();
+ QWidget *widgetForScreen(QScreen *qScreen) const;
private:
Q_DISABLE_COPY(QDesktopWidget)
Q_DECLARE_PRIVATE(QDesktopWidget)
-
- friend class QApplication;
- friend class QApplicationPrivate;
};
-class QDesktopWidgetPrivate : public QWidgetPrivate {
+class QDesktopWidgetPrivate : public QWidgetPrivate
+{
Q_DECLARE_PUBLIC(QDesktopWidget)
public:
~QDesktopWidgetPrivate();
void updateScreens();
- QWidget *widgetForScreen(QScreen *qScreen) const
- {
- return screenWidgets.value(qScreen);
- }
QFlatMap<QScreen*, QWidget*> screenWidgets;
};