summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;