File 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch of Package plymouth.603

From 84eb4381db85877a9a56b35994e6c10d43e46ebe Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 14 Jul 2014 08:04:54 -0400
Subject: [PATCH] seat: be a little more forgiving in the case there's no open
 terminal

We can end up in a situation where a seat object doesn't have a terminal
associated with it.  In that case we shouldn't crash, but continue on
with no input available for that seat.

https://bugs.freedesktop.org/show_bug.cgi?id=80553
---
 src/libply-splash-core/ply-seat.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

Index: plymouth-0.9.0/src/libply-splash-core/ply-seat.c
===================================================================
--- plymouth-0.9.0.orig/src/libply-splash-core/ply-seat.c
+++ plymouth-0.9.0/src/libply-splash-core/ply-seat.c
@@ -154,14 +154,23 @@ ply_seat_open (ply_seat_t          *seat
       add_pixel_displays (seat);
 
     }
-  else
+  else if (seat->terminal != NULL)
     {
       seat->keyboard = ply_keyboard_new_for_terminal (seat->terminal);
     }
-  add_text_displays (seat);
 
-  ply_keyboard_watch_for_input (seat->keyboard);
-  seat->keyboard_active = true;
+    if (seat->terminal != NULL) {
+            add_text_displays (seat);
+    } else {
+            ply_trace ("not adding text display for seat, since seat has no associated terminal");
+    }
+
+    if (seat->keyboard != NULL) {
+            ply_keyboard_watch_for_input (seat->keyboard);
+            seat->keyboard_active = true;
+    } else {
+            ply_trace ("not watching seat for input");
+    }
 
   return true;
 }
openSUSE Build Service is sponsored by