summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2003-02-24 07:58:53 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2003-02-24 07:58:53 +0000
commit36eb050ca80edc58cbaf6a6d547b51e15a7f2334 (patch)
tree59ae36161e361a315e74484a0a95a017df069f24
parent2fa0eb2fdd102857aa5446f63f04bb2e72d94a41 (diff)
downloadcontrol-center-36eb050ca80edc58cbaf6a6d547b51e15a7f2334.tar
control-center-36eb050ca80edc58cbaf6a6d547b51e15a7f2334.tar.gz
control-center-36eb050ca80edc58cbaf6a6d547b51e15a7f2334.tar.bz2
control-center-36eb050ca80edc58cbaf6a6d547b51e15a7f2334.tar.xz
control-center-36eb050ca80edc58cbaf6a6d547b51e15a7f2334.zip
clean up embedding: since Gtk2::Socket emit "plug-added" when the embedded app
realize a Gtk2::Plug, it's just cleaner to centralize/consolidate the child encapsulation in mcc: - (sig_usr2) move the child exit managment from USR2 signal handler to "plug-added" gtk+ signal handler what's more, it allows to remove the somewhat mythical "$::isEmbedded and kill 'USR2', $::CCPID;" in drakxtools
-rwxr-xr-xcontrol-center23
-rw-r--r--drakconf.spec4
2 files changed, 14 insertions, 13 deletions
diff --git a/control-center b/control-center
index 295a3c9f..771016cb 100755
--- a/control-center
+++ b/control-center
@@ -603,7 +603,7 @@ $exp_frame->hide;
$emb_box->hide;
$SIG{USR1} = 'IGNORE';
-$SIG{USR2} = \&sig_usr2;
+$SIG{USR2} = 'IGNORE'; #sub { print "GOT DUMMY USR2\n" };
$SIG{TERM} = \&quit_global;
$SIG{CHLD} = \&sig_child;
#$SIG{CONT} = sub { Gtk2->main };
@@ -642,7 +642,16 @@ sub clean_socket {
sub create_hidden_socket_if_needed {
hide_socket_and_clean(); # clean_socket();
- gtkpack($emb_box, gtksignal_connect($emb_socket = Gtk2::Socket->new, 'plug-removed' => \&child_just_exited)) unless $socket;
+ unless ($emb_socket) {
+ gtkpack($emb_box, gtksignal_connect($emb_socket = Gtk2::Socket->new, 'plug-removed' => \&child_just_exited)) unless $socket;
+ # emitted when embedded apps begin to draw
+ $emb_socket->signal_connect('plug-added' => sub {
+ $left_locked = 0;
+ $emb_wait->hide;
+ $emb_socket->show if $emb_socket;
+ });
+ }
+
$emb_box->set_focus_child($emb_socket);
$emb_socket->hide;
$emb_wait->hide;
@@ -672,14 +681,6 @@ sub sig_child {
splash_warning(N("This program has exited abnormally"));
}
-# got when apps begin to draw
-sub sig_usr2 {
- $left_locked = 0;
- $emb_wait->hide;
- $emb_socket->show if $emb_socket;
-}
-
-
#-------------------------------------------------------------
# processes managment
@@ -765,7 +766,7 @@ sub launch_xapp {
grep { /$name/ } <X>;
};
my @before = &$find_windows();
- fork_("$exec; kill -USR1 $$");
+ fork_("$exec");
my @after = &$find_windows();
require Time::HiRes;
while (@after ne $xx + @before) {
diff --git a/drakconf.spec b/drakconf.spec
index ab9d57a7..ad366246 100644
--- a/drakconf.spec
+++ b/drakconf.spec
@@ -17,8 +17,8 @@ Url: http://www.mandrakelinux.com/en/cvs.php3
Obsoletes: DrakConf
Provides: DrakConf
BuildRequires: gettext
-Requires: mandrake-release, drakxtools >= 9.1-3mdk
-Requires: harddrake-ui >= 9.1-3mdk, popt >= 1.6.4-24mdk, usermode
+Requires: mandrake-release, drakxtools >= 9.1-5mdk
+Requires: harddrake-ui >= 9.1-5mdk, popt >= 1.6.4-24mdk, usermode
Requires: perl-GTK2 >= 0.0.cvs.2003.02.12.1-4mdk, XFree86-100dpi-fonts
Requires: gtk+2.0 >= 2.2.0-3mdk, perl-MDK-Common => 1.0.4-16mdk
Requires: drakcronat >= 0.1.3-1mdk, menudrake >= 0.7.2-1mdk, rxvt, userdrake