diff options
Diffstat (limited to 'src/compositor')
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickitem.cpp | 4 | ||||
-rw-r--r-- | src/compositor/global/qwaylandcompositorextension.cpp | 3 | ||||
-rw-r--r-- | src/compositor/global/qwaylandquickextension.h | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index eb61d4baf..f3e0ffa78 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -1013,8 +1013,8 @@ QPointF QWaylandQuickItem::mapToSurface(const QPointF &point) const if (!surface() || surface()->size().isEmpty()) return point / d->scaleFactor(); - qreal xScale = width() / surface()->size().width(); - qreal yScale = height() / surface()->size().height(); + qreal xScale = width() / surface()->size().width() * surface()->bufferScale(); + qreal yScale = height() / surface()->size().height() * surface()->bufferScale(); return QPointF(point.x() / xScale, point.y() / yScale); } diff --git a/src/compositor/global/qwaylandcompositorextension.cpp b/src/compositor/global/qwaylandcompositorextension.cpp index ee117bbae..e50df48bd 100644 --- a/src/compositor/global/qwaylandcompositorextension.cpp +++ b/src/compositor/global/qwaylandcompositorextension.cpp @@ -124,7 +124,8 @@ bool QWaylandCompositorExtension::event(QEvent *event) { switch(event->type()) { case QEvent::Polish: - initialize(); + if (!isInitialized()) + initialize(); break; default: break; diff --git a/src/compositor/global/qwaylandquickextension.h b/src/compositor/global/qwaylandquickextension.h index b869dcec4..c721bcb97 100644 --- a/src/compositor/global/qwaylandquickextension.h +++ b/src/compositor/global/qwaylandquickextension.h @@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE return QQmlListProperty<QObject>(this, m_objects); \ } \ void classBegin() override {} \ - void componentComplete() override { initialize(); } \ + void componentComplete() override { if (!isInitialized()) initialize(); } \ private: \ QList<QObject *> m_objects; \ }; |