summaryrefslogtreecommitdiffstats
path: root/src/splash-plugins
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2008-05-20 10:53:09 -0400
committerRay Strode <rstrode@redhat.com>2008-05-20 10:53:09 -0400
commit9ed10c8ed910b9704d5ae434249578c8bf711702 (patch)
tree1721b51ac66134faafe5e3d539958e2af420e9ad /src/splash-plugins
parentc04811313b1094ea27e923bd35ad57737a8ab4bd (diff)
downloadplymouth-9ed10c8ed910b9704d5ae434249578c8bf711702.tar.gz
plymouth-9ed10c8ed910b9704d5ae434249578c8bf711702.tar.xz
plymouth-9ed10c8ed910b9704d5ae434249578c8bf711702.zip
disconnect from event loop in fedora-fade-in if show fails
We really need to drop attach_to_event_loop and pass the loop into show.
Diffstat (limited to 'src/splash-plugins')
-rw-r--r--src/splash-plugins/fedora-fade-in/fedora-fade-in.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/splash-plugins/fedora-fade-in/fedora-fade-in.c b/src/splash-plugins/fedora-fade-in/fedora-fade-in.c
index 3502170..eb014f3 100644
--- a/src/splash-plugins/fedora-fade-in/fedora-fade-in.c
+++ b/src/splash-plugins/fedora-fade-in/fedora-fade-in.c
@@ -138,6 +138,8 @@ free_stars (ply_boot_splash_plugin_t *plugin)
plugin->stars = NULL;
}
+static void detach_from_event_loop (ply_boot_splash_plugin_t *plugin);
+
void
destroy_plugin (ply_boot_splash_plugin_t *plugin)
{
@@ -338,7 +340,12 @@ show_splash_screen (ply_boot_splash_plugin_t *plugin,
ply_trace ("opening frame buffer");
if (!ply_frame_buffer_open (plugin->frame_buffer))
- return false;
+ {
+ ply_event_loop_stop_watching_for_exit (plugin->loop, (ply_event_loop_exit_handler_t)
+ detach_from_event_loop,
+ plugin);
+ return false;
+ }
plugin->window = window;