Subject: | Resizing error when StatusBar is instantiated in a Frame |
If you instantiate a StatusBar widget in a Frame (as opposed to the
mainwindow), errors occur when you try to resize from the bottom right-
hand corner of the window:
Tk::Error: wrong # args: should be "winfo geometry window" at
C:/Perl/site/lib/Tk/Submethods.pm line 37.
Tk callback for winfo
<B1-Motion>
(command bound to event)
The error occurs on line 88 of StatusBar.pm:
$self->parent->geometry($w . 'x' . $h) if ($w > 0 && $h > 0);
See attached sample to recreate the problem.
I am using ActiveState perl v5.8.8.817 built for MSWin32-x86-multi-
thread and TK version 804.027.
Thanks.
Subject: | StatusBar Error.pl |
#!/usr/bin/perl -w
use strict;
use Tk;
use Tk::StatusBar;
my $fFrame1;
my $sbFrame;
my $sbLabel;
my $statustext = "Resize bottom right corner error";
my $top = MainWindow->new();
$top->title('Resize Bug');
$fFrame1 = $top->Frame;
$fFrame1->pack(-side => 'bottom', -expand => 1, -fill => 'x', -anchor => 's');
$sbFrame = $fFrame1->StatusBar();
$sbFrame->pack(-side => 'bottom', -expand => 1, -fill => 'x');
$sbLabel = $sbFrame->addLabel(-textvariable => \$statustext);
$sbLabel->pack(-side => 'bottom', -expand => 1, -fill => 'x');
MainLoop();
exit 1;