From a11245fcf0e412f1cea56d64ef09d95794e381b9 Mon Sep 17 00:00:00 2001 From: Lauri Kasanen Date: Fri, 13 Dec 2013 16:11:35 +0200 Subject: [PATCH] Don't crash if the card init failed --- kdrive/src/kdrive.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kdrive/src/kdrive.c b/kdrive/src/kdrive.c index 49af570..14ae989 100644 --- a/kdrive/src/kdrive.c +++ b/kdrive/src/kdrive.c @@ -1172,7 +1172,6 @@ KdAddScreen(ScreenInfo * pScreenInfo, void KdInitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) { KdCardInfo *card; - KdScreenInfo *screen; if (!kdCardInfo) { @@ -1182,9 +1181,11 @@ void KdInitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) screen = KdScreenInfoAdd(card); KdParseScreen(screen, 0); } + /* * Initialize all of the screens for all of the cards */ + int found = 0; for (card = kdCardInfo; card; card = card->next) { int ret = 1; @@ -1194,9 +1195,12 @@ void KdInitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) for (screen = card->screenList; screen; screen = screen->next) KdInitScreen(pScreenInfo, screen, argc, argv); + found = 1; } } + if (!found) return; + /* * Merge the various pixmap formats together, this can fail * when two screens share depth but not bitsPerPixel