diff options
author | Thierry Vignaud <tv@mageia.org> | 2013-06-18 17:50:33 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2013-06-18 17:50:33 +0000 |
commit | 7bddba3b45857cae94b1cfed4af8ab14047eddfd (patch) | |
tree | dfd198074ba482d3108eb29c4406c15ba1492cc2 /control-center | |
parent | 8ea1dadabfd68f9b43be5d591c07f9f5a2cb023b (diff) | |
download | control-center-7bddba3b45857cae94b1cfed4af8ab14047eddfd.tar control-center-7bddba3b45857cae94b1cfed4af8ab14047eddfd.tar.gz control-center-7bddba3b45857cae94b1cfed4af8ab14047eddfd.tar.bz2 control-center-7bddba3b45857cae94b1cfed4af8ab14047eddfd.tar.xz control-center-7bddba3b45857cae94b1cfed4af8ab14047eddfd.zip |
workaround crash with glib-2.36+ (mga#10289)
we basically wait for glib to have created its worker thread before
setting our SIG_CHLD handler
(see also https://bugzilla.gnome.org/show_bug.cgi?id=698081)
Diffstat (limited to 'control-center')
-rwxr-xr-x | control-center | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/control-center b/control-center index 47ffa2fa..990deaa1 100755 --- a/control-center +++ b/control-center @@ -1087,11 +1087,11 @@ $wait_darea->realize; $SIG{USR1} = 'IGNORE'; $SIG{USR2} = 'IGNORE'; $SIG{TERM} = \&quit_global; -$SIG{CHLD} = \&sig_child; + $window_splash->destroy; undef $window_splash; -Glib::Timeout->add(200, sub { sig_child('CHLD', 1); 1 }); +Glib::Timeout->add(300, sub { $SIG{CHLD} = \&sig_child; sig_child('CHLD', 1); 1 }); if ($program) { if (my $sub = $tool_callbacks{$program}) { |