Blob Blame Raw
diff -up plymouth-0.6.0/src/main.c.force-raw-mode plymouth-0.6.0/src/main.c
--- plymouth-0.6.0/src/main.c.force-raw-mode	2008-10-28 16:18:44.000000000 -0400
+++ plymouth-0.6.0/src/main.c	2008-10-28 16:22:37.000000000 -0400
@@ -323,13 +323,10 @@ on_show_splash (state_t *state)
 }
 
 static void
-on_hide_splash (state_t *state)
+quit_splash (state_t *state)
 {
-
-  ply_trace ("hiding boot splash");
   if (state->boot_splash != NULL)
     {
-      ply_boot_splash_hide (state->boot_splash);
       ply_boot_splash_free (state->boot_splash);
       state->boot_splash = NULL;
     }
@@ -350,6 +347,17 @@ on_hide_splash (state_t *state)
     }
 }
 
+static void
+on_hide_splash (state_t *state)
+{
+
+  ply_trace ("hiding boot splash");
+  if (state->boot_splash != NULL)
+    ply_boot_splash_hide (state->boot_splash);
+
+  quit_splash (state);
+}
+
 #ifdef PLY_ENABLE_GDM_TRANSITION
 static void
 tell_gdm_to_transition (void)
@@ -373,6 +381,8 @@ on_quit (state_t *state,
     {
       if (!retain_splash)
         on_hide_splash (state);
+      else
+        quit_splash (state);
       ply_boot_splash_free (state->boot_splash);
       state->boot_splash = NULL;
     }
diff -up plymouth-0.6.0/src/plugins/splash/fade-in/plugin.c.force-raw-mode plymouth-0.6.0/src/plugins/splash/fade-in/plugin.c
--- plymouth-0.6.0/src/plugins/splash/fade-in/plugin.c.force-raw-mode	2008-10-16 15:59:36.000000000 -0400
+++ plymouth-0.6.0/src/plugins/splash/fade-in/plugin.c	2008-10-28 15:55:04.000000000 -0400
@@ -199,6 +199,8 @@ animate_at_time (ply_boot_splash_plugin_
   static double last_opacity = 0.0;
   double opacity = 0.0;
 
+  ply_window_set_mode (plugin->window, PLY_WINDOW_MODE_GRAPHICS);
+
   ply_frame_buffer_pause_updates (plugin->frame_buffer);
 
   width = ply_image_get_width (plugin->logo_image);
diff -up plymouth-0.6.0/src/plugins/splash/solar/plugin.c.force-raw-mode plymouth-0.6.0/src/plugins/splash/solar/plugin.c
--- plymouth-0.6.0/src/plugins/splash/solar/plugin.c.force-raw-mode	2008-10-24 13:29:04.000000000 -0400
+++ plymouth-0.6.0/src/plugins/splash/solar/plugin.c	2008-10-28 15:55:04.000000000 -0400
@@ -669,7 +669,9 @@ animate_attime (ply_boot_splash_plugin_t
 {
   ply_list_node_t *node;
   long width, height;
-  
+
+  ply_window_set_mode (plugin->window, PLY_WINDOW_MODE_GRAPHICS);
+
   if (plugin->progress_target>=0)
       plugin->progress = (plugin->progress*10 + plugin->progress_target) /11;