summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2009-03-19 14:33:36 +0000
committerThierry Vignaud <tv@mandriva.org>2009-03-19 14:33:36 +0000
commit032e4343feb2273218930a7ff74ac4ca0615b58b (patch)
treec096449cb985858935b5f60b0700b2b22c8d0d53
parentf7fe1e146f27acb896a2a89673a125e607530db5 (diff)
downloadcontrol-center-032e4343feb2273218930a7ff74ac4ca0615b58b.tar
control-center-032e4343feb2273218930a7ff74ac4ca0615b58b.tar.gz
control-center-032e4343feb2273218930a7ff74ac4ca0615b58b.tar.bz2
control-center-032e4343feb2273218930a7ff74ac4ca0615b58b.tar.xz
control-center-032e4343feb2273218930a7ff74ac4ca0615b58b.zip
('navigation-requested' signal callback) fix crashing when embedded
program segfaulted (#48080)
-rw-r--r--NEWS2
-rwxr-xr-xcontrol-center6
2 files changed, 6 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 73ff12c3..3306ddfc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+- fix a rare crash when embedded program segfaulted (#48080)
+
Version 12.4 - 16 March 2009, Thierry Vignaud
- workaround latest webkit breaking mcc (again)
diff --git a/control-center b/control-center
index 5822ea13..b4ad3b68 100755
--- a/control-center
+++ b/control-center
@@ -944,6 +944,7 @@ foreach (@tree) {
$view->signal_connect('navigation-requested' =>
sub {
my (undef, undef, $request) = @_;
+ my $res = 'ignore';
# get the actual program ID:
my $url = Glib::filename_from_uri($request->get_uri);
@@ -952,13 +953,14 @@ $view->signal_connect('navigation-requested' =>
# do not crash on eg: "reload":
if (!$tool_callbacks{$url}) {
warn "Warning: invalid tool name: $url\n";
- return;
+ return $res;
}
$tool_callbacks{$url}->();
# FIXME: the following code is currently useless:
# should we provide a way to kill buggy embedded programs ?
- return if $left_locked;
+ return $res if $left_locked;
warn_on_startup();
+ return $res;
});
my %icons = (