summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2008-10-11 11:18:13 +0000
committerThierry Vignaud <tv@mandriva.org>2008-10-11 11:18:13 +0000
commitb0729c6d493e440cd9003f994cec9f5144957d2c (patch)
tree25e539bce78053f2092a0e86e1dddb0d96a26ddd
parentea09b6383c6468fb513d10f199168e8106d097a0 (diff)
downloaddrakx-backup-do-not-use-b0729c6d493e440cd9003f994cec9f5144957d2c.tar
drakx-backup-do-not-use-b0729c6d493e440cd9003f994cec9f5144957d2c.tar.gz
drakx-backup-do-not-use-b0729c6d493e440cd9003f994cec9f5144957d2c.tar.bz2
drakx-backup-do-not-use-b0729c6d493e440cd9003f994cec9f5144957d2c.tar.xz
drakx-backup-do-not-use-b0729c6d493e440cd9003f994cec9f5144957d2c.zip
(enable_sync_flush,sync_flush) split them out of wait_messageW() so that
rpmdrake can get rid of some gray windows
-rw-r--r--perl-install/NEWS3
-rw-r--r--perl-install/interactive/gtk.pm4
-rw-r--r--perl-install/mygtk2.pm12
3 files changed, 17 insertions, 2 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index f50168ccd..0ed09f69a 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -1,5 +1,8 @@
- handle new driver:
o ide: tx4939ide
+- libDrakX:
+ o share infrastructure so that rpmdrake can get rid of some gray
+ windows
Version 11.67 - 2 October 2008
diff --git a/perl-install/interactive/gtk.pm b/perl-install/interactive/gtk.pm
index 0a1cef4a2..2dea19599 100644
--- a/perl-install/interactive/gtk.pm
+++ b/perl-install/interactive/gtk.pm
@@ -912,9 +912,9 @@ sub wait_messageW {
if_(ref($message_modifiable), 0, $message_modifiable),
]),
);
- $Window->signal_connect(expose_event => sub { $Window->{displayed} = 1; 0 });
+ mygtk2::enable_sync_flush($Window);
$Window->{wait_messageW} = $to_modify;
- mygtk2::sync($Window) while !$Window->{displayed};
+ mygtk2::sync_flush($Window);
$Window;
}
sub wait_message_nextW {
diff --git a/perl-install/mygtk2.pm b/perl-install/mygtk2.pm
index 3107510c9..2f70efe89 100644
--- a/perl-install/mygtk2.pm
+++ b/perl-install/mygtk2.pm
@@ -1413,6 +1413,18 @@ sub flush() {
Gtk2->main_iteration while Gtk2->events_pending;
}
+sub enable_sync_flush {
+ my ($w) = @_;
+ $w->signal_connect(expose_event => sub { $w->{displayed} = 1; 0 });
+}
+
+sub sync_flush {
+ my ($w) = @_;
+ # hackish :-(
+ mygtk2::sync($w) while !$w->{displayed};
+}
+
+
sub may_destroy {
my ($w) = @_;
return if !$w;