summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2012-02-27 15:43:35 +0100
committerJørgen Lind <jorgen.lind@nokia.com>2012-02-27 16:38:25 +0100
commit4b643275ed279139be05f0aca13400d3f179caa0 (patch)
tree0f728c89d7f4247378bcd80acc7cf0fb29f68229 /src
parent2912e378393111677a985a0bd4353a06fbabc5ee (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.cpp40
-rw-r--r--src/plugins/platforms/wayland/qwaylanddisplay.h7
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