diff options
Diffstat (limited to 'examples/wayland/qwindow-compositor/qwindowcompositor.cpp')
-rw-r--r-- | examples/wayland/qwindow-compositor/qwindowcompositor.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/examples/wayland/qwindow-compositor/qwindowcompositor.cpp b/examples/wayland/qwindow-compositor/qwindowcompositor.cpp index fe2738f05..9f9a8e060 100644 --- a/examples/wayland/qwindow-compositor/qwindowcompositor.cpp +++ b/examples/wayland/qwindow-compositor/qwindowcompositor.cpp @@ -67,8 +67,8 @@ QT_BEGIN_NAMESPACE class Surface : public QWaylandSurface { public: - Surface() - : QWaylandSurface() + Surface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version) + : QWaylandSurface(compositor, client, id, version) , shellSurface(Q_NULLPTR) , extSurface(Q_NULLPTR) , hasSentOnScreen(false) @@ -151,6 +151,7 @@ void QWindowCompositor::create() m_renderScheduler.setSingleShot(true); connect(&m_renderScheduler, &QTimer::timeout, this, &QWindowCompositor::render); + connect(this, &QWaylandCompositor::createSurface, this, &QWindowCompositor::onCreateSurface); connect(this, &QWaylandCompositor::surfaceCreated, this, &QWindowCompositor::onSurfaceCreated); connect(defaultInputDevice(), &QWaylandInputDevice::cursorSurfaceRequest, this, &QWindowCompositor::adjustCursorSurface); @@ -255,6 +256,11 @@ void QWindowCompositor::surfaceCommitted(QWaylandSurface *surface) m_renderScheduler.start(0); } +void QWindowCompositor::onCreateSurface(QWaylandClient *client, uint id, int version) +{ + new Surface(this, client, id, version); +} + void QWindowCompositor::onSurfaceCreated(QWaylandSurface *surface) { connect(surface, &QWaylandSurface::surfaceDestroyed, this, &QWindowCompositor::surfaceDestroyed); @@ -319,11 +325,6 @@ void QWindowCompositor::adjustCursorSurface(QWaylandSurface *surface, int hotspo m_cursorHotspotY = hotspotY; } -QWaylandSurface *QWindowCompositor::createDefaultSurfaceType() -{ - return new Surface(); -} - QWaylandView *QWindowCompositor::viewAt(const QPointF &point, QPointF *local) { for (int i = m_visibleSurfaces.size() - 1; i >= 0; --i) { |