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 | |
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')
-rw-r--r-- | src/plugins/platforms/wayland/qwaylanddisplay.cpp | 40 | ||||
-rw-r--r-- | src/plugins/platforms/wayland/qwaylanddisplay.h | 7 |
2 files changed, 8 insertions, 39 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); } diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.h b/src/plugins/platforms/wayland/qwaylanddisplay.h index e0773b83b..ed9cc55c3 100644 --- a/src/plugins/platforms/wayland/qwaylanddisplay.h +++ b/src/plugins/platforms/wayland/qwaylanddisplay.h @@ -138,11 +138,7 @@ private: int mWritableNotificationFd; bool mScreensInitialized; - uint32_t mSocketMask; - - static const struct wl_output_listener outputListener; - static int sourceUpdate(uint32_t mask, void *data); static void displayHandleGlobal(struct wl_display *display, uint32_t id, const char *interface, @@ -173,9 +169,6 @@ private: uint32_t time, uint32_t edges, struct wl_surface *surface, int32_t width, int32_t height); - - static void force_roundtrip_sync_callback(void *data, struct wl_callback *wl_callback, uint32_t time); - static const struct wl_callback_listener force_roundtrip_sync_callback_listener; }; #endif // QWAYLANDDISPLAY_H |