summaryrefslogtreecommitdiffstats
path: root/src/compositor
diff options
context:
space:
mode:
Diffstat (limited to 'src/compositor')
-rw-r--r--src/compositor/compositor_api/qwaylandquickitem.cpp4
-rw-r--r--src/compositor/global/qwaylandcompositorextension.cpp3
-rw-r--r--src/compositor/global/qwaylandquickextension.h2
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; \
};