summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-06-09 11:44:32 +0300
committerGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-07-08 12:21:19 +0200
commit0d597176e839c508e08a01707c6438fcff4c7054 (patch)
tree1294664800bebc2821beba780fed9b25b2656291
parent139d0a658f2ca00cb1486454308977e760402949 (diff)
Fix creation of custom shells
The previous virtual method initShell() was not working because it was called from QWaylandCompositor constructor. Replace that with a mthod to create the default shell to be manually called by the compositors if they so choose. Change-Id: I35a1dc0edfaf4237ca47b532645ac0d95752311c Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
-rw-r--r--examples/qml-compositor/main.cpp1
-rw-r--r--examples/qwindow-compositor/qwindowcompositor.cpp1
-rw-r--r--examples/server-buffer/compositor/main.cpp1
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor.cpp10
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor.h2
-rw-r--r--src/compositor/wayland_wrapper/qwlcompositor.cpp1
6 files changed, 9 insertions, 7 deletions
diff --git a/examples/qml-compositor/main.cpp b/examples/qml-compositor/main.cpp
index 91bc6677f..26e730d43 100644
--- a/examples/qml-compositor/main.cpp
+++ b/examples/qml-compositor/main.cpp
@@ -67,6 +67,7 @@ public:
setResizeMode(QQuickView::SizeRootObjectToView);
setColor(Qt::black);
winId();
+ addDefaultShell();
connect(this, SIGNAL(afterRendering()), this, SLOT(sendCallbacks()));
}
diff --git a/examples/qwindow-compositor/qwindowcompositor.cpp b/examples/qwindow-compositor/qwindowcompositor.cpp
index 925e3214f..2cb1b3624 100644
--- a/examples/qwindow-compositor/qwindowcompositor.cpp
+++ b/examples/qwindow-compositor/qwindowcompositor.cpp
@@ -132,6 +132,7 @@ QWindowCompositor::QWindowCompositor(QOpenGLWindow *window)
setOutputGeometry(QRect(QPoint(0, 0), window->size()));
setOutputRefreshRate(qRound(qGuiApp->primaryScreen()->refreshRate() * 1000.0));
+ addDefaultShell();
}
QWindowCompositor::~QWindowCompositor()
diff --git a/examples/server-buffer/compositor/main.cpp b/examples/server-buffer/compositor/main.cpp
index 77c3a1a08..85503c62b 100644
--- a/examples/server-buffer/compositor/main.cpp
+++ b/examples/server-buffer/compositor/main.cpp
@@ -82,6 +82,7 @@ public:
setColor(Qt::black);
create();
grabWindow();
+ addDefaultShell();
connect(this, SIGNAL(afterRendering()), this, SLOT(sendCallbacks()));
diff --git a/src/compositor/compositor_api/qwaylandcompositor.cpp b/src/compositor/compositor_api/qwaylandcompositor.cpp
index 1093cfc56..ef428a4eb 100644
--- a/src/compositor/compositor_api/qwaylandcompositor.cpp
+++ b/src/compositor/compositor_api/qwaylandcompositor.cpp
@@ -92,6 +92,11 @@ void QWaylandCompositor::addGlobalInterface(QWaylandGlobalInterface *interface)
m_compositor->m_globals << interface;
}
+void QWaylandCompositor::addDefaultShell()
+{
+ addGlobalInterface(new QtWayland::Shell);
+}
+
struct wl_display *QWaylandCompositor::waylandDisplay() const
{
return m_compositor->wl_display();
@@ -298,9 +303,4 @@ QWaylandSurfaceView *QWaylandCompositor::createView(QWaylandSurface *surface)
return new QWaylandSurfaceView(surface);
}
-void QWaylandCompositor::initShell()
-{
- addGlobalInterface(new QtWayland::Shell);
-}
-
QT_END_NAMESPACE
diff --git a/src/compositor/compositor_api/qwaylandcompositor.h b/src/compositor/compositor_api/qwaylandcompositor.h
index 119e63f2d..2b7832d15 100644
--- a/src/compositor/compositor_api/qwaylandcompositor.h
+++ b/src/compositor/compositor_api/qwaylandcompositor.h
@@ -85,6 +85,7 @@ public:
virtual ~QWaylandCompositor();
void addGlobalInterface(QWaylandGlobalInterface *interface);
+ void addDefaultShell();
struct wl_display *waylandDisplay() const;
void frameStarted();
@@ -148,7 +149,6 @@ public:
protected:
QWaylandCompositor(QWindow *window, const char *socketName, QtWayland::Compositor *dptr);
virtual void retainedSelectionReceived(QMimeData *mimeData);
- virtual void initShell();
friend class QtWayland::Compositor;
QtWayland::Compositor *m_compositor;
diff --git a/src/compositor/wayland_wrapper/qwlcompositor.cpp b/src/compositor/wayland_wrapper/qwlcompositor.cpp
index 062737476..e13fcfdb3 100644
--- a/src/compositor/wayland_wrapper/qwlcompositor.cpp
+++ b/src/compositor/wayland_wrapper/qwlcompositor.cpp
@@ -170,7 +170,6 @@ void Compositor::init()
initializeHardwareIntegration();
initializeExtensions();
initializeDefaultInputDevice();
- m_qt_compositor->initShell();
}
Compositor::~Compositor()