summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPier Luigi Fiorini <pierluigi.fiorini@gmail.com>2015-03-06 23:17:26 +0100
committerPier Luigi Fiorini <pierluigi.fiorini@gmail.com>2015-03-10 21:32:46 +0000
commit1239e62bc9a88854e2a844716ef166e2acfef622 (patch)
treebec5b0bd19282c7062736ad37cd48bc52427ddce
parentdc2b7a26a8266a58d6130b5c5b270d8de9cbfc40 (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.cpp22
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);
}
}