summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2014-01-07 14:46:08 +0100
committerThierry Vignaud <thierry.vignaud@gmail.com>2014-01-07 14:48:51 +0100
commit9b4e9da3dabd58573cc2c941bed524fc1fb24f7b (patch)
tree2e4cc9f6683633c3b436e2d4456229f5eb6f5cdd
parent4425c028c3930779729541c070a6a90ce6c509b2 (diff)
downloadcontrol-center-9b4e9da3dabd58573cc2c941bed524fc1fb24f7b.tar
control-center-9b4e9da3dabd58573cc2c941bed524fc1fb24f7b.tar.gz
control-center-9b4e9da3dabd58573cc2c941bed524fc1fb24f7b.tar.bz2
control-center-9b4e9da3dabd58573cc2c941bed524fc1fb24f7b.tar.xz
control-center-9b4e9da3dabd58573cc2c941bed524fc1fb24f7b.zip
delay starting up logdrake, thus fixing segfault on startup (mga#10289)
we would segfault when "Display Logs" option is set
-rw-r--r--NEWS3
-rwxr-xr-xcontrol-center9
2 files changed, 10 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index db5e77cb..65c8fd8a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- delay starting up logdrake, thus fixing segfault on startup when "Display
+ Logs" option is set (mga#10289)
+
Version 12.48 - 28 January 2014 Donald Stewart
- Add new artwork for MGA4
diff --git a/control-center b/control-center
index 8bcb7aaf..f72431d8 100755
--- a/control-center
+++ b/control-center
@@ -39,6 +39,7 @@ use Gtk2::WebKit;
use MDV::Control_Center;
+my $during_startup = 1;
my (%tool_pids, %tool_feedback, $gurpmi_pid);
@@ -633,7 +634,11 @@ my @menu_items = (
sub {
$option_values{show_log} = $check_boxes{show_log}->get_active;
if ($option_values{show_log}) {
- start_logdrake();
+ if ($during_startup) {
+ Glib::Timeout->add_seconds(1, \&start_logdrake);
+ } else {
+ start_logdrake();
+ }
} else {
kill_logdrake();
}
@@ -705,7 +710,6 @@ $view->signal_connect('load-finished' => sub {
state $done;
return if $done;
$done = 1;
- Glib::Timeout->add(100, sub { sig_child('CHLD', 1); 1 });
load_program() if $program;
});
# so that it exists when building steps:
@@ -1100,6 +1104,7 @@ $SIG{TERM} = \&quit_global;
$window_splash->destroy;
undef $window_splash;
+$during_startup = 0;
Gtk2->main;
sub load_program() {