Skip Menu |

This queue is for tickets about the Tk CPAN distribution.

Report information
The Basics
Id: 90077
Status: resolved
Priority: 0/
Queue: Tk

People
Owner: Nobody in particular
Requestors: antoine.gautier [...] solamen.fr
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: perl/Tk Problem with referenced variable in Entry
Date: Wed, 6 Nov 2013 09:15:18 +0100
To: <bug-Tk [...] rt.cpan.org>
From: "Antoine Gautier" <antoine.gautier [...] solamen.fr>
Hi The following code leads to a strange behavior. First pressing "Calculate" button prints the expected result: Uw=2.6. Then if I press "Characteristics" button and close the Characteristics window, pressing again "Calculate" button leads to Uw=0 for the same values of independent variables. Further observations were made here: <http://www.perlmonks.org/?node_id=1061335> http://www.perlmonks.org/?node_id=1061335. Best regards. #!/usr/bin/perl use warnings; use strict; use Tk; use Devel::Peek; my $val = 0.20; my $mw = 'MainWindow'->new; $mw->Button( -text => "\n Characteristics \n", -command => \&room, )->pack(-fill => "x"); $mw->Button( -text => "\n Calculate \n", -background => "red", -command => \&design, )->pack(-fill => "x"); MainLoop(); sub room { my $roomTl = $mw->Toplevel; $roomTl->Entry( -textvariable => \$val, )->pack(-fill => 'x'); } sub design { my $Uf = 13; my $Uw = $val * $Uf; # HERE print Dump($val), "\t Uf = $Uf \t val = ${\$val} \t Uw = $Uw \n"; } -- Antoine Gautier Solamen SAS +33 6 58 24 02 60 <mailto:antoine.gautier@solamen.fr> antoine.gautier@solamen.fr
On 2013-11-06 03:15:52, antoine.gautier@solamen.fr wrote: Show quoted text
> Hi > > The following code leads to a strange behavior. > First pressing "Calculate" button prints the expected result: Uw=2.6. > Then if I press "Characteristics" button and close the Characteristics > window, pressing again "Calculate" button leads to Uw=0 for the same values > of independent variables. > > Further observations were made here: > <http://www.perlmonks.org/?node_id=1061335> > http://www.perlmonks.org/?node_id=1061335.
Confirmed. I have now a test case in Tk (based on your example, but non-interactive), see https://github.com/eserte/perl-tk/commit/f978a133908ef715233ace871919aff5aeb93254 What's strange is that the problem does not happen with perl 5.18 (see the list of travis builds: https://travis-ci.org/eserte/perl-tk/builds/13590200 ). So maybe it's even a bug in perl fixed lately. Nevertheless, such a simple operation should also work with older perls. Investigating. Regards, Slaven
On 2013-11-06 12:13:10, SREZIC wrote: Show quoted text
> On 2013-11-06 03:15:52, antoine.gautier@solamen.fr wrote:
> > Hi > > > > The following code leads to a strange behavior. > > First pressing "Calculate" button prints the expected result: Uw=2.6. > > Then if I press "Characteristics" button and close the > > Characteristics > > window, pressing again "Calculate" button leads to Uw=0 for the same > > values > > of independent variables. > > > > Further observations were made here: > > <http://www.perlmonks.org/?node_id=1061335> > > http://www.perlmonks.org/?node_id=1061335.
> > Confirmed. I have now a test case in Tk (based on your example, but > non-interactive), see https://github.com/eserte/perl- > tk/commit/f978a133908ef715233ace871919aff5aeb93254 > > What's strange is that the problem does not happen with perl 5.18 (see > the list of travis builds: https://travis-ci.org/eserte/perl- > tk/builds/13590200 ). So maybe it's even a bug in perl fixed lately. > Nevertheless, such a simple operation should also work with older > perls. Investigating. >
Fixed in branch rt-90077, see: https://github.com/eserte/perl-tk/tree/rt-90077 The branch will be merged soon into master, and the fix will be part of the forthcoming Tk 804.031_050 release. Regards, Slaven
On 2013-11-15 05:19:56, SREZIC wrote: Show quoted text
> On 2013-11-06 12:13:10, SREZIC wrote:
> > On 2013-11-06 03:15:52, antoine.gautier@solamen.fr wrote:
> > > Hi > > > > > > The following code leads to a strange behavior. > > > First pressing "Calculate" button prints the expected result: > > > Uw=2.6. > > > Then if I press "Characteristics" button and close the > > > Characteristics > > > window, pressing again "Calculate" button leads to Uw=0 for the > > > same > > > values > > > of independent variables. > > > > > > Further observations were made here: > > > <http://www.perlmonks.org/?node_id=1061335> > > > http://www.perlmonks.org/?node_id=1061335.
> > > > Confirmed. I have now a test case in Tk (based on your example, but > > non-interactive), see https://github.com/eserte/perl- > > tk/commit/f978a133908ef715233ace871919aff5aeb93254 > > > > What's strange is that the problem does not happen with perl 5.18 > > (see > > the list of travis builds: https://travis-ci.org/eserte/perl- > > tk/builds/13590200 ). So maybe it's even a bug in perl fixed lately. > > Nevertheless, such a simple operation should also work with older > > perls. Investigating. > >
> > Fixed in branch rt-90077, see: https://github.com/eserte/perl- > tk/tree/rt-90077 > The branch will be merged soon into master, and the fix will be part > of the forthcoming Tk 804.031_050 release.
Tk 804.031_050 is out. Regards, Slaven