From 86146d9f86a4cb65e27706881077b917fd821862 Mon Sep 17 00:00:00 2001 From: Elvis Lee Date: Tue, 1 Apr 2014 11:00:13 +0900 Subject: [PATCH 1/2] Null check for window on pointer_axis The window is already destroyed and server doesn't get a message yet. Change-Id: Ia9dd0ce891a712d1aa913fcb3313a5fe300788ab Reviewed-by: Giulio Camuffo Reviewed-by: Robin Burchell --- src/plugins/platforms/wayland/qwaylandinputdevice.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp index 08e2945741b..29e993646ad 100644 --- a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp +++ b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp @@ -517,6 +517,12 @@ void QWaylandInputDevice::Pointer::pointer_axis(uint32_t time, uint32_t axis, in QPoint pixelDelta; QPoint angleDelta; + if (window == NULL) { + // We destroyed the pointer focus surface, but the server + // didn't get the message yet. + return; + } + //normalize value and inverse axis int valueDelta = wl_fixed_to_int(value) * -12; From 88d888b126773fd3d580960079a723f04dee360d Mon Sep 17 00:00:00 2001 From: Tomasz Olszak Date: Tue, 15 Apr 2014 10:16:36 +0200 Subject: [PATCH 2/2] build fix for MODULE_PLUGINS_TYPE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I8d44f50480440060eba84354e88fb2535e1d8e4a Reviewed-by: Jørgen Lind --- src/plugins/platforms/wayland/client.pro | 2 ++ .../qwaylandclientbufferintegrationfactory.cpp | 2 +- .../qwaylandserverbufferintegrationfactory.cpp | 2 +- .../wayland/plugins/hardwareintegration/brcm-egl/brcm-egl.pro | 2 +- .../hardwareintegration/drm-egl-server/drm-egl-server.pro | 2 +- .../plugins/hardwareintegration/wayland-egl/wayland-egl.pro | 2 +- .../hardwareintegration/xcomposite-egl/xcomposite-egl.pro | 2 +- .../hardwareintegration/xcomposite-glx/xcomposite-glx.pro | 2 +- 8 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/plugins/platforms/wayland/client.pro b/src/plugins/platforms/wayland/client.pro index 01d704a9463..10cbd31a8e1 100644 --- a/src/plugins/platforms/wayland/client.pro +++ b/src/plugins/platforms/wayland/client.pro @@ -3,6 +3,8 @@ QT += core-private gui-private QT_FOR_PRIVATE += platformsupport-private MODULE=waylandclient +MODULE_PLUGIN_TYPES = wayland-graphics-integration-client + load(qt_module) CONFIG += link_pkgconfig qpa/genericunixfontdatabase wayland-scanner diff --git a/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegrationfactory.cpp b/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegrationfactory.cpp index e168f612f97..7f2648bcf99 100644 --- a/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegrationfactory.cpp +++ b/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegrationfactory.cpp @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_LIBRARY Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, - (QWaylandClientBufferIntegrationFactoryInterface_iid, QLatin1String("/wayland-graphics-integration/client"), Qt::CaseInsensitive)) + (QWaylandClientBufferIntegrationFactoryInterface_iid, QLatin1String("/wayland-graphics-integration-client"), Qt::CaseInsensitive)) Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, directLoader, (QWaylandClientBufferIntegrationFactoryInterface_iid, QLatin1String(""), Qt::CaseInsensitive)) #endif diff --git a/src/plugins/platforms/wayland/hardwareintegration/qwaylandserverbufferintegrationfactory.cpp b/src/plugins/platforms/wayland/hardwareintegration/qwaylandserverbufferintegrationfactory.cpp index bd7661c2fee..2b61dbdc888 100644 --- a/src/plugins/platforms/wayland/hardwareintegration/qwaylandserverbufferintegrationfactory.cpp +++ b/src/plugins/platforms/wayland/hardwareintegration/qwaylandserverbufferintegrationfactory.cpp @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_LIBRARY Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, - (QWaylandServerBufferIntegrationFactoryInterface_iid, QLatin1String("/wayland-graphics-integration/client"), Qt::CaseInsensitive)) + (QWaylandServerBufferIntegrationFactoryInterface_iid, QLatin1String("/wayland-graphics-integration-client"), Qt::CaseInsensitive)) Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, directLoader, (QWaylandServerBufferIntegrationFactoryInterface_iid, QLatin1String(""), Qt::CaseInsensitive)) #endif diff --git a/src/plugins/platforms/wayland/plugins/hardwareintegration/brcm-egl/brcm-egl.pro b/src/plugins/platforms/wayland/plugins/hardwareintegration/brcm-egl/brcm-egl.pro index d98b7941b35..39dcf570dec 100644 --- a/src/plugins/platforms/wayland/plugins/hardwareintegration/brcm-egl/brcm-egl.pro +++ b/src/plugins/platforms/wayland/plugins/hardwareintegration/brcm-egl/brcm-egl.pro @@ -1,4 +1,4 @@ -PLUGIN_TYPE = wayland-graphics-integration/client +PLUGIN_TYPE = wayland-graphics-integration-client load(qt_plugin) QT += waylandclient-private diff --git a/src/plugins/platforms/wayland/plugins/hardwareintegration/drm-egl-server/drm-egl-server.pro b/src/plugins/platforms/wayland/plugins/hardwareintegration/drm-egl-server/drm-egl-server.pro index d282afc816c..3a57958683d 100644 --- a/src/plugins/platforms/wayland/plugins/hardwareintegration/drm-egl-server/drm-egl-server.pro +++ b/src/plugins/platforms/wayland/plugins/hardwareintegration/drm-egl-server/drm-egl-server.pro @@ -1,4 +1,4 @@ -PLUGIN_TYPE = wayland-graphics-integration/client +PLUGIN_TYPE = wayland-graphics-integration-client load(qt_plugin) QT += waylandclient-private diff --git a/src/plugins/platforms/wayland/plugins/hardwareintegration/wayland-egl/wayland-egl.pro b/src/plugins/platforms/wayland/plugins/hardwareintegration/wayland-egl/wayland-egl.pro index 0eca1d411c1..38989628886 100644 --- a/src/plugins/platforms/wayland/plugins/hardwareintegration/wayland-egl/wayland-egl.pro +++ b/src/plugins/platforms/wayland/plugins/hardwareintegration/wayland-egl/wayland-egl.pro @@ -1,4 +1,4 @@ -PLUGIN_TYPE = wayland-graphics-integration/client +PLUGIN_TYPE = wayland-graphics-integration-client load(qt_plugin) QT += waylandclient-private diff --git a/src/plugins/platforms/wayland/plugins/hardwareintegration/xcomposite-egl/xcomposite-egl.pro b/src/plugins/platforms/wayland/plugins/hardwareintegration/xcomposite-egl/xcomposite-egl.pro index 3129f844b08..97e642fbb66 100644 --- a/src/plugins/platforms/wayland/plugins/hardwareintegration/xcomposite-egl/xcomposite-egl.pro +++ b/src/plugins/platforms/wayland/plugins/hardwareintegration/xcomposite-egl/xcomposite-egl.pro @@ -1,4 +1,4 @@ -PLUGIN_TYPE = wayland-graphics-integration/client +PLUGIN_TYPE = wayland-graphics-integration-client load(qt_plugin) QT += waylandclient-private diff --git a/src/plugins/platforms/wayland/plugins/hardwareintegration/xcomposite-glx/xcomposite-glx.pro b/src/plugins/platforms/wayland/plugins/hardwareintegration/xcomposite-glx/xcomposite-glx.pro index 3146b3696ce..0080150ccd1 100644 --- a/src/plugins/platforms/wayland/plugins/hardwareintegration/xcomposite-glx/xcomposite-glx.pro +++ b/src/plugins/platforms/wayland/plugins/hardwareintegration/xcomposite-glx/xcomposite-glx.pro @@ -1,4 +1,4 @@ -PLUGIN_TYPE = wayland-graphics-integration/client +PLUGIN_TYPE = wayland-graphics-integration-client load(qt_plugin) QT += waylandclient-private