summaryrefslogtreecommitdiffstats
path: root/perl-install/mygtk2.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/mygtk2.pm')
-rw-r--r--perl-install/mygtk2.pm13
1 files changed, 6 insertions, 7 deletions
diff --git a/perl-install/mygtk2.pm b/perl-install/mygtk2.pm
index a8d0a10c9..73f223f0e 100644
--- a/perl-install/mygtk2.pm
+++ b/perl-install/mygtk2.pm
@@ -345,7 +345,6 @@ 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}) {
@@ -353,17 +352,17 @@ sub _gtk__Image {
$w->{x} = $alloc->x;
$w->{y} = $alloc->y;
}
+ # workaround Gtk+ bug: in installer, first event is not complete and rectables are bogus:
+ if ($::isInstall) {
+ $pixbuf->render_to_drawable($w->window, $w->style->fg_gc('normal'),
+ 0, 0, $w->{x}, $w->{y}, $width, $height, 'max', 0, 0);
+ return;
+ }
foreach my $rect($event->region->get_rectangles) {
my @values = $rect->values;
$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) = @_;