diff options
author | Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> | 2015-03-06 23:17:26 +0100 |
---|---|---|
committer | Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> | 2015-03-10 21:32:46 +0000 |
commit | 1239e62bc9a88854e2a844716ef166e2acfef622 (patch) | |
tree | bec5b0bd19282c7062736ad37cd48bc52427ddce | |
parent | dc2b7a26a8266a58d6130b5c5b270d8de9cbfc40 (diff) |
Send done and scale events only when clients support wl_output >= 2
Those events were added with wl_output version 2 and we can't send
them to clients supporting wl_output version 1.
Change-Id: I4a673b8cc0476675532d31b4391a537d8473987b
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-rw-r--r-- | src/compositor/wayland_wrapper/qwloutput.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/compositor/wayland_wrapper/qwloutput.cpp b/src/compositor/wayland_wrapper/qwloutput.cpp index 9cecff2a9..b01ffa59b 100644 --- a/src/compositor/wayland_wrapper/qwloutput.cpp +++ b/src/compositor/wayland_wrapper/qwloutput.cpp @@ -127,9 +127,10 @@ void Output::output_bind_resource(Resource *resource) m_mode.size.width(), m_mode.size.height(), m_mode.refreshRate); - send_scale(resource->handle, m_scaleFactor); - - send_done(resource->handle); + if (resource->version() >= 2) { + send_scale(resource->handle, m_scaleFactor); + send_done(resource->handle); + } } void Output::setManufacturer(const QString &manufacturer) @@ -163,7 +164,8 @@ void Output::setMode(const QWaylandOutput::Mode &mode) send_mode(resource->handle, mode_current, m_mode.size.width(), m_mode.size.height(), m_mode.refreshRate * 1000); - send_done(resource->handle); + if (resource->version() >= 2) + send_done(resource->handle); } } @@ -189,7 +191,8 @@ void Output::setGeometry(const QRect &geometry) send_mode(resource->handle, mode_current, m_mode.size.width(), m_mode.size.height(), m_mode.refreshRate * 1000); - send_done(resource->handle); + if (resource->version() >= 2) + send_done(resource->handle); } } @@ -236,8 +239,10 @@ void Output::setScaleFactor(int scale) m_scaleFactor = scale; Q_FOREACH (Resource *resource, resourceMap().values()) { - send_scale(resource->handle, m_scaleFactor); - send_done(resource->handle); + if (resource->version() >= 2) { + send_scale(resource->handle, m_scaleFactor); + send_done(resource->handle); + } } } @@ -254,7 +259,8 @@ void Output::sendGeometryInfo() m_physicalSize.width(), m_physicalSize.height(), toWlSubpixel(m_subpixel), m_manufacturer, m_model, toWlTransform(m_transform)); - send_done(resource->handle); + if (resource->version() >= 2) + send_done(resource->handle); } } |