48 lines
1.6 KiB
Diff
48 lines
1.6 KiB
Diff
|
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;
|
||
|
}
|