diff options
-rw-r--r-- | perl-install/NEWS | 3 | ||||
-rw-r--r-- | perl-install/interactive/gtk.pm | 4 | ||||
-rw-r--r-- | perl-install/mygtk2.pm | 12 |
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; |