summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandcompositor.cpp
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@qt.io>2017-03-16 13:59:20 +0100
committerPaul Olav Tvete <paul.tvete@qt.io>2017-03-23 13:37:00 +0000
commit1e1785c8d2b077c34a8ca1d4f93e5a75b269eac8 (patch)
treea4264362c3ef1b070da05ab46edab612d53501dc /src/compositor/compositor_api/qwaylandcompositor.cpp
parentdfcda81c5b13ad15517a37bcc45f3bf5f550466c (diff)
Clean up draganddrop and clipboard features
Don't assume that no-draganddrop implies no-clipboard. Introduce a new private feature wayland-datadevice which contains the common functionality. This feature cannot be controlled independently, but is automatically disabled when both clipboard and draganddrop are disabled. Change-Id: I6aac09c7ee524e3b11f0a1caa4a6c62fc3f1d10f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/compositor/compositor_api/qwaylandcompositor.cpp')
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor.cpp b/src/compositor/compositor_api/qwaylandcompositor.cpp
index 499d81b3f..277fa0abe 100644
--- a/src/compositor/compositor_api/qwaylandcompositor.cpp
+++ b/src/compositor/compositor_api/qwaylandcompositor.cpp
@@ -52,8 +52,10 @@
#include <QtWaylandCompositor/private/qwaylandkeyboard_p.h>
#include <QtWaylandCompositor/private/qwaylandsurface_p.h>
+#if QT_CONFIG(wayland_datadevice)
#include "wayland_wrapper/qwldatadevice_p.h"
#include "wayland_wrapper/qwldatadevicemanager_p.h"
+#endif
#include "wayland_wrapper/qwlbuffermanager_p.h"
#include "hardware_integration/qwlclientbufferintegration_p.h"
@@ -176,7 +178,9 @@ void QWaylandCompositorPrivate::init()
wl_compositor::init(display, 3);
wl_subcompositor::init(display, 1);
+#if QT_CONFIG(wayland_datadevice)
data_device_manager = new QtWayland::DataDeviceManager(q);
+#endif
buffer_manager = new QtWayland::BufferManager(q);
wl_display_init_shm(display);
@@ -225,7 +229,9 @@ QWaylandCompositorPrivate::~QWaylandCompositorPrivate()
qDeleteAll(outputs);
+#if QT_CONFIG(wayland_datadevice)
delete data_device_manager;
+#endif
wl_display_destroy(display);
}
@@ -790,7 +796,9 @@ void QWaylandCompositor::retainedSelectionReceived(QMimeData *)
void QWaylandCompositor::overrideSelection(const QMimeData *data)
{
Q_D(QWaylandCompositor);
+#if QT_CONFIG(wayland_datadevice)
d->data_device_manager->overrideSelection(*data);
+#endif
}
/*!