diff options
author | Thierry Vignaud <tv@mandriva.org> | 2009-03-19 15:33:23 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2009-03-19 15:33:23 +0000 |
commit | b7de5430b832b84f1286f84b42958ab94c1d40b1 (patch) | |
tree | 8cd3e7e04ee6314ee2c94103d13e9302c7c984bc | |
parent | 87d501152c003070c0063d48193280dafa4c9627 (diff) | |
download | control-center-b7de5430b832b84f1286f84b42958ab94c1d40b1.tar control-center-b7de5430b832b84f1286f84b42958ab94c1d40b1.tar.gz control-center-b7de5430b832b84f1286f84b42958ab94c1d40b1.tar.bz2 control-center-b7de5430b832b84f1286f84b42958ab94c1d40b1.tar.xz control-center-b7de5430b832b84f1286f84b42958ab94c1d40b1.zip |
('navigation-requested' signal callback) fix crashing when embedded program segfaulted (#48080)
-rwxr-xr-x | control-center | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/control-center b/control-center index a4877d0b..2740eb54 100755 --- a/control-center +++ b/control-center @@ -938,6 +938,7 @@ foreach (@tree) { $view->signal_connect('navigation-requested' => sub { my (undef, undef, $request) = @_; + my $res = 'ignore'; # get the actual program ID: my $url = $request->get_uri; @@ -947,13 +948,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 = ( |