summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2002-09-06 12:20:48 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2002-09-06 12:20:48 +0000
commit5eff16bccef5629f752615a794b518483ad85a81 (patch)
treeee988191985aa31f7446d39fc49d83b0725aca1e
parentd692bee4ca0efb56a8689472ba170eb6a79caf22 (diff)
downloadcontrol-center-5eff16bccef5629f752615a794b518483ad85a81.tar
control-center-5eff16bccef5629f752615a794b518483ad85a81.tar.gz
control-center-5eff16bccef5629f752615a794b518483ad85a81.tar.bz2
control-center-5eff16bccef5629f752615a794b518483ad85a81.tar.xz
control-center-5eff16bccef5629f752615a794b518483ad85a81.zip
- remove last debugging prints
- rip zombie children - don't pass --embedded to third party softwares
-rwxr-xr-xcontrol-center10
1 files changed, 5 insertions, 5 deletions
diff --git a/control-center b/control-center
index de99dfe3..50705d84 100755
--- a/control-center
+++ b/control-center
@@ -537,7 +537,7 @@ $window_global->set_position(1);
$SIG{USR1} = \&sig_usr1;
$SIG{USR2} = \&sig_usr2;
$SIG{TERM} = \&quit_global;
-#$SIG{CHLD} = sub { wait() };
+$SIG{CHLD} = sub { wait() };
Gtk->main;
sub sig_usr1 {
@@ -574,18 +574,16 @@ sub sig_usr2 {
}
sub compute_exec_string {
- use Data::Dumper;print Dumper(\@_),"\n";
my ($icon, $log_exp, $exec, $gtkplug, $alternate) = ($_[0], @{$_[1]});
- print "($icon, $log_exp, $exec, $gtkplug, $alternate)\n";
if ($embedded) {
if ($gtkplug != -1) { # not explicitely not embedded
$notebook_global->hide;
res_socket();
$emb_box->show;
$emb_socket->realize;
+ $exec .= " --embedded " . $emb_socket->window->XWINDOW . " " . $$;
}
if ($gtkplug > 0) {
- $exec .= " --embedded " . $emb_socket->window->XWINDOW . " " . $$;
$emb_wait->show;
if ($run_pixbuf) {
undef $run_pixbuf;#->unref;
@@ -603,11 +601,13 @@ sub compute_exec_string {
exec("$exec");
}
push @pid_launched, $pid;
- } elsif ($gtkplug == -1) {
+ } elsif ($gtkplug == -1) { # explicitely not embedded
system($exec . " &");
} else { # gtkplug == 0
$emb_socket->show;
+ $SIG{CHLD} = undef;
$emb_socket->steal(launch_xapp($alternate));
+ $SIG{CHLD} = sub { wait() };
}
} else { # not embedded
system(($gtkplug == 0 ? $alternate->[0] : $alternate || $exec) . " &");