diff options
author | Thierry Vignaud <tv@mandriva.org> | 2008-10-01 12:52:20 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2008-10-01 12:52:20 +0000 |
commit | c6b00d15044a71366c7b5e39631fed11e65d8323 (patch) | |
tree | ac1a62e5d39c4163f264f721e2d4f30392021382 | |
parent | 55798514fa74cc21304e25459a4339dd76d0afe6 (diff) | |
download | drakx-c6b00d15044a71366c7b5e39631fed11e65d8323.tar drakx-c6b00d15044a71366c7b5e39631fed11e65d8323.tar.gz drakx-c6b00d15044a71366c7b5e39631fed11e65d8323.tar.bz2 drakx-c6b00d15044a71366c7b5e39631fed11e65d8323.tar.xz drakx-c6b00d15044a71366c7b5e39631fed11e65d8323.zip |
(_gtk__Image_using_pixbuf) workaround Gtk+ bug: in installer, first event is not complete
-rw-r--r-- | perl-install/mygtk2.pm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/perl-install/mygtk2.pm b/perl-install/mygtk2.pm index 12ff2251e..1b7509a9b 100644 --- a/perl-install/mygtk2.pm +++ b/perl-install/mygtk2.pm @@ -333,6 +333,7 @@ sub _gtk__Image { my ($width, $height) = ($pixbuf->get_width, $pixbuf->get_height); $w->set_size_request($width, $height); $w->{pixbuf} = $pixbuf; + my $not_my_first_event; $w->signal_connect(expose_event => sub { my (undef, $event) = @_; if (!$w->{x}) { @@ -345,6 +346,12 @@ sub _gtk__Image { $pixbuf->render_to_drawable($w->window, $w->style->fg_gc('normal'), @values[0..1], $w->{x}+$values[0], $w->{y}+$values[1], @values[2..3], 'max', 0, 0); } + # workaround Gtk+ bug: in installer, first event is not complete: + if ($::isInstall && !$not_my_first_event) { + $not_my_first_event = 1; + $pixbuf->render_to_drawable($w->window, $w->style->fg_gc('normal'), + 0, 0, $w->{x}, $w->{y}, $width, $height, 'max', 0, 0); + } }); } : sub { my ($w, $file, $o_size) = @_; |