forked from rpms/plymouth
36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
|
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
|