diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2012-02-27 15:43:35 +0100 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2012-02-27 16:38:25 +0100 |
commit | 4b643275ed279139be05f0aca13400d3f179caa0 (patch) | |
tree | 0f728c89d7f4247378bcd80acc7cf0fb29f68229 /src/plugins/platforms/wayland/qwaylanddisplay.cpp | |
parent | 2912e378393111677a985a0bd4353a06fbabc5ee (diff) |
Get rid of some code in wayland plugin.
We can use the convenience API that has been added to wayland instead.
Change-Id: I9516256a14f62593b3c78064a0f6288bb496c583
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylanddisplay.cpp')
-rw-r--r-- | src/plugins/platforms/wayland/qwaylanddisplay.cpp | 40 |
1 files changed, 8 insertions, 32 deletions
diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.cpp b/src/plugins/platforms/wayland/qwaylanddisplay.cpp index e52e9ddf0..168f97e09 100644 --- a/src/plugins/platforms/wayland/qwaylanddisplay.cpp +++ b/src/plugins/platforms/wayland/qwaylanddisplay.cpp @@ -106,6 +106,11 @@ void QWaylandDisplay::setLastKeyboardFocusInputDevice(QWaylandInputDevice *devic static QWaylandDisplay *display = 0; +static int dummyUpdate(uint32_t, void *) +{ + return 0; +} + QWaylandDisplay::QWaylandDisplay(void) : mLastKeyboardFocusInputDevice(0) , mDndSelectionHandler(0) @@ -125,7 +130,7 @@ QWaylandDisplay::QWaylandDisplay(void) wl_display_add_global_listener(mDisplay, QWaylandDisplay::displayHandleGlobal, this); - mFd = wl_display_get_fd(mDisplay, sourceUpdate, this); + mFd = wl_display_get_fd(mDisplay, dummyUpdate, 0); #ifdef QTWAYLAND_EXPERIMENTAL_THREAD_SUPPORT mWritableNotificationFd = wl_display_get_write_notification_fd(mDisplay); @@ -158,7 +163,6 @@ QWaylandDisplay::QWaylandDisplay(void) QWaylandDisplay::~QWaylandDisplay(void) { - close(mFd); #ifdef QT_WAYLAND_GL_SUPPORT delete mEglIntegration; #endif @@ -173,8 +177,7 @@ void QWaylandDisplay::createNewScreen(struct wl_output *output, QRect geometry) void QWaylandDisplay::flushRequests() { - if (mSocketMask & WL_DISPLAY_WRITABLE) - wl_display_iterate(mDisplay, WL_DISPLAY_WRITABLE); + wl_display_flush(mDisplay); } void QWaylandDisplay::readEvents() @@ -207,14 +210,6 @@ void QWaylandDisplay::blockingReadEvents() wl_display_iterate(mDisplay, WL_DISPLAY_READABLE); } -int QWaylandDisplay::sourceUpdate(uint32_t mask, void *data) -{ - QWaylandDisplay *waylandDisplay = static_cast<QWaylandDisplay *>(data); - waylandDisplay->mSocketMask = mask; - - return 0; -} - QWaylandScreen *QWaylandDisplay::screenForOutput(struct wl_output *output) const { for (int i = 0; i < mScreens.size(); ++i) { @@ -317,27 +312,8 @@ uint32_t QWaylandDisplay::currentTimeMillisec() return 0; } -void QWaylandDisplay::force_roundtrip_sync_callback(void *data, struct wl_callback *wl_callback, uint32_t time) -{ - Q_UNUSED(time); - - int *round_trip = (int *)data; - *round_trip = true; - wl_callback_destroy(wl_callback); -} - -const struct wl_callback_listener QWaylandDisplay::force_roundtrip_sync_callback_listener = { - QWaylandDisplay::force_roundtrip_sync_callback -}; - void QWaylandDisplay::forceRoundTrip() { - int round_trip = false; - wl_callback *sync_callback = wl_display_sync(mDisplay); - wl_callback_add_listener(sync_callback,&force_roundtrip_sync_callback_listener,&round_trip); - flushRequests(); - while (!round_trip) { - readEvents(); - } + wl_display_roundtrip(mDisplay); } |