diff options
author | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2012-05-11 08:56:06 +0300 |
---|---|---|
committer | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2012-05-11 08:07:43 +0200 |
commit | 25af63583b5e9b040d71d672e0550514a52678b5 (patch) | |
tree | 7e6d664de4abcbe98d7fd1d3d0de80600a45df1e /src/plugins/platforms/wayland/qwaylandinputdevice.cpp | |
parent | c835ca4d8d8101fdab61d5d98910ffbed4b7c1e1 (diff) |
Do not assert in pointer and keyboard enter
Handle the case of null surface gracefully. It can be null if the
surface is destroyed on client side and the object is in zombie state
still.
Change-Id: Ife67180e6405a521562a43c24d377559d7848b6f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandinputdevice.cpp')
-rw-r--r-- | src/plugins/platforms/wayland/qwaylandinputdevice.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp index 4a92b6f9f..7cfe56df9 100644 --- a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp +++ b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp @@ -399,8 +399,8 @@ void QWaylandInputDevice::inputHandlePointerEnter(void *data, Q_UNUSED(sy); QWaylandInputDevice *inputDevice = (QWaylandInputDevice *) data; - // shouldn't get pointer enter with no surface - Q_ASSERT(surface); + if (!surface) + return; QWaylandWindow *window = (QWaylandWindow *) wl_surface_get_user_data(surface); window->handleMouseEnter(); @@ -447,8 +447,8 @@ void QWaylandInputDevice::inputHandleKeyboardEnter(void *data, inputDevice->mModifiers |= translateModifiers(inputDevice->mXkbState); #endif - // shouldn't get keyboard enter with no surface - Q_ASSERT(surface); + if (!surface) + return; window = (QWaylandWindow *) wl_surface_get_user_data(surface); inputDevice->mKeyboardFocus = window; |