summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@digia.com>2013-09-09 12:01:18 +0300
committerAndrew Knight <andrew.knight@digia.com>2013-09-09 11:58:13 +0200
commit330c429991ef1c32ffdd51cdc8627ef1b71604b3 (patch)
tree8294b693e819c1d9bbd627a879e24086b1698503
parent3b0b90b3dbadc5119931378089ac9207eb2c4673 (diff)
Compositor: Fix refresh rate
Wayland output defines refresh rate in millihertz (int) while Qt uses Hz (float). Make sure all integer APIs are using millihertz, and covert Hz values to mHz when passing from Qt. Change-Id: I5886f5618680d99db6fc106dd7b8998b00a2face Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
-rw-r--r--examples/qwindow-compositor/qwindowcompositor.cpp2
-rw-r--r--src/compositor/wayland_wrapper/qwloutput.cpp2
-rw-r--r--src/plugins/platforms/wayland_common/qwaylandscreen.cpp2
3 files changed, 3 insertions, 3 deletions
diff --git a/examples/qwindow-compositor/qwindowcompositor.cpp b/examples/qwindow-compositor/qwindowcompositor.cpp
index 4f185ae23..30b4ceb9d 100644
--- a/examples/qwindow-compositor/qwindowcompositor.cpp
+++ b/examples/qwindow-compositor/qwindowcompositor.cpp
@@ -82,7 +82,7 @@ QWindowCompositor::QWindowCompositor(QOpenGLWindow *window)
setRetainedSelectionEnabled(true);
setOutputGeometry(QRect(QPoint(0, 0), window->size()));
- setOutputRefreshRate(qGuiApp->primaryScreen()->refreshRate());
+ setOutputRefreshRate(qRound(qGuiApp->primaryScreen()->refreshRate() * 1000.0));
}
QWindowCompositor::~QWindowCompositor()
diff --git a/src/compositor/wayland_wrapper/qwloutput.cpp b/src/compositor/wayland_wrapper/qwloutput.cpp
index cfde82900..e5123e03b 100644
--- a/src/compositor/wayland_wrapper/qwloutput.cpp
+++ b/src/compositor/wayland_wrapper/qwloutput.cpp
@@ -55,7 +55,7 @@ OutputGlobal::OutputGlobal(struct ::wl_display *display)
{
QScreen *screen = QGuiApplication::primaryScreen();
m_geometry = QRect(QPoint(0, 0), screen->availableGeometry().size());
- m_refreshRate = qRound(screen->refreshRate());
+ m_refreshRate = qRound(screen->refreshRate() * 1000.0);
}
OutputGlobal::~OutputGlobal()
diff --git a/src/plugins/platforms/wayland_common/qwaylandscreen.cpp b/src/plugins/platforms/wayland_common/qwaylandscreen.cpp
index fe0f76ce3..5956c2fd3 100644
--- a/src/plugins/platforms/wayland_common/qwaylandscreen.cpp
+++ b/src/plugins/platforms/wayland_common/qwaylandscreen.cpp
@@ -144,7 +144,7 @@ void QWaylandScreen::output_mode(uint32_t flags, int width, int height, int refr
if (refresh != mRefreshRate) {
mRefreshRate = refresh;
- QWindowSystemInterface::handleScreenRefreshRateChange(screen(), mRefreshRate);
+ QWindowSystemInterface::handleScreenRefreshRateChange(screen(), refreshRate());
}
}