walters / rpms / plymouth

Forked from rpms/plymouth 6 years ago
Clone
Blob Blame History Raw
diff -up plymouth-0.8.6.1/src/plugins/splash/throbgress/plugin.c.fix-fail-to-start plymouth-0.8.6.1/src/plugins/splash/throbgress/plugin.c
--- plymouth-0.8.6.1/src/plugins/splash/throbgress/plugin.c.fix-fail-to-start	2012-07-23 10:11:27.659035587 -0400
+++ plymouth-0.8.6.1/src/plugins/splash/throbgress/plugin.c	2012-07-23 10:12:39.746036670 -0400
@@ -103,6 +103,7 @@ struct _ply_boot_splash_plugin
   uint32_t root_is_mounted : 1;
   uint32_t is_visible : 1;
   uint32_t is_animating : 1;
+  uint32_t is_idle : 1;
 };
 
 ply_boot_splash_plugin_interface_t * ply_boot_splash_plugin_get_interface (void);
@@ -292,6 +293,8 @@ view_start_animation (view_t *view)
 
   plugin = view->plugin;
 
+  plugin->is_idle = false;
+
   assert (plugin != NULL);
   assert (plugin->loop != NULL);
 
@@ -804,7 +807,14 @@ static void
 become_idle (ply_boot_splash_plugin_t *plugin,
              ply_trigger_t            *idle_trigger)
 {
+  if (plugin->is_idle)
+    {
+      ply_trigger_pull (idle_trigger, NULL);
+      return;
+    }
+
   stop_animation (plugin, idle_trigger);
+  plugin->is_idle = true;
 }
 
 static void