diff options
author | Thierry Vignaud <tv@mandriva.org> | 2009-03-19 14:33:36 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2009-03-19 14:33:36 +0000 |
commit | 032e4343feb2273218930a7ff74ac4ca0615b58b (patch) | |
tree | c096449cb985858935b5f60b0700b2b22c8d0d53 | |
parent | f7fe1e146f27acb896a2a89673a125e607530db5 (diff) | |
download | control-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-- | NEWS | 2 | ||||
-rwxr-xr-x | control-center | 6 |
2 files changed, 6 insertions, 2 deletions
@@ -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 = ( |