summaryrefslogtreecommitdiffstats
path: root/control-center
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2013-06-18 17:50:33 +0000
committerThierry Vignaud <tv@mageia.org>2013-06-18 17:50:33 +0000
commit7bddba3b45857cae94b1cfed4af8ab14047eddfd (patch)
treedfd198074ba482d3108eb29c4406c15ba1492cc2 /control-center
parent8ea1dadabfd68f9b43be5d591c07f9f5a2cb023b (diff)
downloadcontrol-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-xcontrol-center4
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}) {