summaryrefslogtreecommitdiffstats
path: root/src/widgets/util/qcolormap.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@digia.com>2014-03-28 08:12:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-29 21:22:38 +0100
commit51d4eb8f5ba769cd50457b2f479acc3f30b9f78f (patch)
tree9047ebed8b67736b94f206e6023084420da819eb /src/widgets/util/qcolormap.cpp
parentc5805acccda4b3762bfd4d23ee6622053bb7104d (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/qcolormap.cpp')
-rw-r--r--src/widgets/util/qcolormap.cpp7
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;