diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-03-28 08:12:05 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-29 21:22:38 +0100 |
commit | 51d4eb8f5ba769cd50457b2f479acc3f30b9f78f (patch) | |
tree | 9047ebed8b67736b94f206e6023084420da819eb /src/widgets/util | |
parent | c5805acccda4b3762bfd4d23ee6622053bb7104d (diff) |
If no screens, attempting to create a window results in clean exit
Asserting is only relevant for debug builds, and there were a couple
of other places that a segfault would typically occur before the assert
had a chance.
Change-Id: I1abc82eb3ecfa91050117fab1525f4cbd82ff486
Task-number: QTBUG-37876
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'src/widgets/util')
-rw-r--r-- | src/widgets/util/qcolormap.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/widgets/util/qcolormap.cpp b/src/widgets/util/qcolormap.cpp index 03ee8a395e..decfd7bd2c 100644 --- a/src/widgets/util/qcolormap.cpp +++ b/src/widgets/util/qcolormap.cpp @@ -66,7 +66,12 @@ static QColormapPrivate *screenMap = 0; void QColormap::initialize() { screenMap = new QColormapPrivate; - + if (!QGuiApplication::primaryScreen()) { + qWarning("no screens available, assuming 24-bit color"); + screenMap->depth = 24; + screenMap->mode = QColormap::Direct; + return; + } screenMap->depth = QGuiApplication::primaryScreen()->depth(); if (screenMap->depth < 8) { screenMap->mode = QColormap::Indexed; |