summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRolf Eike Beer <eb@emlix.com>2014-05-07 11:04:36 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-08 16:33:31 +0200
commit6f6cfda8c459ab9c0a311e8643ef2534c5e194c2 (patch)
treede439eaa4cf5a175441de9399e24800b58faf418
parent9c4996b709ee5cebb1513bb7fe4703caee90f304 (diff)
kms plugin: use first returned mode if no preferred one is present
The list of returned modes is scanned for the first one marked as preferred, and that is used. If no preferred mode was found then the builtin default mode of 1024x768 is used. Use that builtin mode only if no modes were returned at all, pick the first one if any were returned. Change-Id: Ib355cc92219ced093c605f49dae4e34ff244b639 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
-rw-r--r--src/plugins/platforms/kms/qkmsscreen.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/platforms/kms/qkmsscreen.cpp b/src/plugins/platforms/kms/qkmsscreen.cpp
index 2749139330..a930aa6545 100644
--- a/src/plugins/platforms/kms/qkmsscreen.cpp
+++ b/src/plugins/platforms/kms/qkmsscreen.cpp
@@ -124,8 +124,12 @@ void QKmsScreen::initializeScreenMode(const drmModeRes *resources, const drmMode
break;
}
}
- if (!mode)
- mode = &builtin_1024x768;
+ if (!mode) {
+ if (connector->count_modes > 0)
+ mode = &connector->modes[0];
+ else
+ mode = &builtin_1024x768;
+ }
drmModeEncoder *encoder = drmModeGetEncoder(m_device->fd(), connector->encoders[0]);
if (encoder == 0)