can't make ".waitbox" its own masters at
C:/Perl/site/lib/Tk/Submethods.pm line 37.
at C:/Perl/site/lib/Tk/WaitBox.pm line 58
The platform in question is Win2000 Server SP2, with ActivePerl
5.8.4.810 (which includes Tk 804.027).
I also tried it on these other platforms and it worked fine:
- Win98SE with ActivePerl 5.8.3.809 (includes Tk 800.024)
- Debian Linux 3.0 with Perl 5.6.1, and Tk 800.024
Is there a fix to make WaitBox work on all platforms?
Also, on the w2k box I tried commenting out line 58, and the waitbox
then comes up when it's supposed to, but when it goes away the mouse
pointer is different. It does go back to an arrow, but a different one
than when before the waitbox was called (the new arrow appears to be
tilted slighly more to the left). So in my program I tried adding this
right after the waitbox:
$wb->unShow;
$mw->configure(-cursor => '');
And that does work (the default pointer is restored), but it's less
optimum than if WaitBox.pm was working properly...
--
No crazy stuff in my email. ;-)
There was an API change in Tcl/Tk 8.4 which made setting a window as
its own master invalid. This means that Tk::WaitBox won't work on
all Tk804* builds.
> Also, on the w2k box I tried commenting out line 58, and the waitbox
> then comes up when it's supposed to,
A better fix would be to change the line to:
$cw->transient($cw->parent->toplevel);
Maybe you can send a bug report to Brent?
> but when it goes away the mouse
> pointer is different. It does go back to an arrow, but a different one
> than when before the waitbox was called (the new arrow appears to be
> tilted slighly more to the left). So in my program I tried adding this
> right after the waitbox:
>
> $wb->unShow;
> $mw->configure(-cursor => '');
>
> And that does work (the default pointer is restored), but it's less
> optimum than if WaitBox.pm was working properly...
This might be a Windows-specific problem. Sometimes just an additional
$mw->update;
fixes things on Windows...
Regards,
Slaven