diff options
author | Andrew Knight <andrew.knight@digia.com> | 2013-09-09 12:01:18 +0300 |
---|---|---|
committer | Andrew Knight <andrew.knight@digia.com> | 2013-09-09 11:58:13 +0200 |
commit | 330c429991ef1c32ffdd51cdc8627ef1b71604b3 (patch) | |
tree | 8294b693e819c1d9bbd627a879e24086b1698503 | |
parent | 3b0b90b3dbadc5119931378089ac9207eb2c4673 (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.cpp | 2 | ||||
-rw-r--r-- | src/compositor/wayland_wrapper/qwloutput.cpp | 2 | ||||
-rw-r--r-- | src/plugins/platforms/wayland_common/qwaylandscreen.cpp | 2 |
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()); } } |