From b0729c6d493e440cd9003f994cec9f5144957d2c Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Sat, 11 Oct 2008 11:18:13 +0000 Subject: (enable_sync_flush,sync_flush) split them out of wait_messageW() so that rpmdrake can get rid of some gray windows --- perl-install/NEWS | 3 +++ perl-install/interactive/gtk.pm | 4 ++-- perl-install/mygtk2.pm | 12 ++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) (limited to 'perl-install') 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; -- cgit v1.2.1