summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandnativeinterface.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-12-01 23:08:05 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-12-01 23:08:05 +0100
commitdd5e1ffd3e9e379574325193c8546d453c11303e (patch)
treed7aaaf3ad3098a0086ba15d768f0585fce1ab926 /src/client/qwaylandnativeinterface.cpp
parentcf450400cad0461a0b4661d31fabd949d69ec772 (diff)
parent4d3c3a08eba8d30805f18397c98e19ab9fd40722 (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts: src/client/qwaylanddisplay_p.h Change-Id: I602b90a055d1322af369fb7b77a68583154b660f
Diffstat (limited to 'src/client/qwaylandnativeinterface.cpp')
-rw-r--r--src/client/qwaylandnativeinterface.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/client/qwaylandnativeinterface.cpp b/src/client/qwaylandnativeinterface.cpp
index 050099f8b..7df31bbc5 100644
--- a/src/client/qwaylandnativeinterface.cpp
+++ b/src/client/qwaylandnativeinterface.cpp
@@ -40,6 +40,7 @@
#include "qwaylanddisplay_p.h"
#include "qwaylandwindowmanagerintegration_p.h"
#include "qwaylandscreen_p.h"
+#include "qwaylandwlshellsurface_p.h"
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/QScreen>
#include <QtWaylandClient/private/qwaylandclientbufferintegration_p.h>
@@ -83,6 +84,15 @@ void *QWaylandNativeInterface::nativeResourceForWindow(const QByteArray &resourc
if (lowerCaseResource == "surface") {
return ((QWaylandWindow *) window->handle())->object();
}
+ if (lowerCaseResource == "wl_shell_surface") {
+ QWaylandWindow *w = (QWaylandWindow *) window->handle();
+ if (!w)
+ return NULL;
+ QWaylandWlShellSurface *s = qobject_cast<QWaylandWlShellSurface *>(w->shellSurface());
+ if (!s)
+ return NULL;
+ return s->object();
+ }
if (lowerCaseResource == "egldisplay" && m_integration->clientBufferIntegration())
return m_integration->clientBufferIntegration()->nativeResource(QWaylandClientBufferIntegration::EglDisplay);