diff options
Diffstat (limited to 'src')
5 files changed, 34 insertions, 25 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor.cpp b/src/compositor/compositor_api/qwaylandcompositor.cpp index 0a2b28714..6ccc8ee09 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.cpp +++ b/src/compositor/compositor_api/qwaylandcompositor.cpp @@ -260,7 +260,7 @@ void QWaylandCompositorPrivate::compositor_create_surface(Resource *resource, ui if (surfResource) { surface = QWaylandSurface::fromResource(surfResource); } else { - surface = q->createDefaultSurfaceType(); + surface = createDefaultSurface(); surface->initialize(q, client, id, resource->version()); } Q_ASSERT(surface); @@ -273,6 +273,16 @@ void QWaylandCompositorPrivate::compositor_create_region(Resource *resource, uin new QtWayland::Region(resource->client(), id); } +/*! + \internal + Used to create a fallback QWaylandSurface when no surface was + created by emitting the QWaylandCompositor::createSurface signal. +*/ +QWaylandSurface *QWaylandCompositorPrivate::createDefaultSurface() +{ + return new QWaylandSurface(); +} + void QWaylandCompositorPrivate::initializeHardwareIntegration() { @@ -348,6 +358,11 @@ QWaylandCompositor::QWaylandCompositor(QObject *parent) { } +QWaylandCompositor::QWaylandCompositor(QWaylandCompositorPrivate &dptr, QObject *parent) + : QObject(dptr, parent) +{ +} + QWaylandCompositor::~QWaylandCompositor() { } @@ -507,16 +522,6 @@ void QWaylandCompositor::processWaylandEvents() } -/*! - \internal - Used to create a fallback QWaylandSurface when no surface was - created by emitting the QWaylandCompositor::createSurface signal. -*/ -QWaylandSurface *QWaylandCompositor::createDefaultSurfaceType() -{ - return new QWaylandSurface(); -} - QWaylandInputDevice *QWaylandCompositor::createInputDevice() { return new QWaylandInputDevice(this); diff --git a/src/compositor/compositor_api/qwaylandcompositor.h b/src/compositor/compositor_api/qwaylandcompositor.h index d859ab341..f986c6444 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.h +++ b/src/compositor/compositor_api/qwaylandcompositor.h @@ -148,10 +148,7 @@ protected: virtual QWaylandKeyboard *createKeyboardDevice(QWaylandInputDevice *inputDevice); virtual QWaylandTouch *createTouchDevice(QWaylandInputDevice *inputDevice); - QWaylandCompositor(QWaylandCompositorPrivate *dptr); - -private: - virtual QWaylandSurface *createDefaultSurfaceType(); + QWaylandCompositor(QWaylandCompositorPrivate &dptr, QObject *parent = 0); }; QT_END_NAMESPACE diff --git a/src/compositor/compositor_api/qwaylandcompositor_p.h b/src/compositor/compositor_api/qwaylandcompositor_p.h index e6e3f584a..1975bd879 100644 --- a/src/compositor/compositor_api/qwaylandcompositor_p.h +++ b/src/compositor/compositor_api/qwaylandcompositor_p.h @@ -96,6 +96,7 @@ protected: void compositor_create_surface(Resource *resource, uint32_t id) Q_DECL_OVERRIDE; void compositor_create_region(Resource *resource, uint32_t id) Q_DECL_OVERRIDE; + virtual QWaylandSurface *createDefaultSurface(); protected: void initializeHardwareIntegration(); void initializeExtensions(); diff --git a/src/compositor/compositor_api/qwaylandquickcompositor.cpp b/src/compositor/compositor_api/qwaylandquickcompositor.cpp index 8ebd1b6f6..70afccb93 100644 --- a/src/compositor/compositor_api/qwaylandquickcompositor.cpp +++ b/src/compositor/compositor_api/qwaylandquickcompositor.cpp @@ -43,11 +43,26 @@ #include "qwaylandquickoutput.h" #include "qwaylandquickitem.h" #include "qwaylandoutput.h" +#include <QtCompositor/private/qwaylandcompositor_p.h> QT_BEGIN_NAMESPACE +class QWaylandQuickCompositorPrivate : public QWaylandCompositorPrivate +{ +public: + QWaylandQuickCompositorPrivate(QWaylandCompositor *compositor) + : QWaylandCompositorPrivate(compositor) + { + } +protected: + QWaylandSurface *createDefaultSurface() Q_DECL_OVERRIDE + { + return new QWaylandQuickSurface(); + } +}; + QWaylandQuickCompositor::QWaylandQuickCompositor(QObject *parent) - : QWaylandCompositor(parent) + : QWaylandCompositor(*new QWaylandQuickCompositorPrivate(this), parent) { } @@ -57,11 +72,6 @@ void QWaylandQuickCompositor::create() } -QWaylandSurface *QWaylandQuickCompositor::createDefaultSurfaceType() -{ - return new QWaylandQuickSurface(); -} - void QWaylandQuickCompositor::classBegin() { } diff --git a/src/compositor/compositor_api/qwaylandquickcompositor.h b/src/compositor/compositor_api/qwaylandquickcompositor.h index 21778d2ce..eff0b2f3d 100644 --- a/src/compositor/compositor_api/qwaylandquickcompositor.h +++ b/src/compositor/compositor_api/qwaylandquickcompositor.h @@ -57,10 +57,6 @@ public: protected: void classBegin() Q_DECL_OVERRIDE; void componentComplete() Q_DECL_OVERRIDE; - -private: - - QWaylandSurface *createDefaultSurfaceType() Q_DECL_OVERRIDE; }; QT_END_NAMESPACE |