in reply to Perl tk gui freezes after pop up list is launched.

G'day john.tm,

I was unable to reproduce the problem you describe.

I'm using Perl 5.22.0 and Tk 804.033 on Mac OS X 10.10.3

I stored your freeze script in pm_1148798_freeze.pl. I changed the shebang line from #!/usr/bin/perl to #!/usr/bin/env perl. Otherwise, the code is unaltered.

I stored your main script in pm_1148798_main.pl. I added the shebang line #!/usr/bin/env perl. I changed G:\\opscripts\freeze.pl to pm_1148798_freeze.pl. Otherwise, the code is unaltered.

I tried this a few times without being able to freeze anything. Here's a sample run:

  1. $ pm_1148798_main.pl
  2. Main GUI appeared. I clicked on "button 1" and Freeze GUI appeared. I clicked in Main GUI: it came to the front. I clicked in Freeze GUI: it came to the front. No freezing at this point.
  3. I selected year 2016. I brought Main to the fore; then Freeze to the fore. No freezing. Year still showing as 2016.
  4. I selected Month May. I brought Main to the fore; then Freeze to the fore. No freezing. Year still showing as 2016 and Month as May.
  5. I selected Day 25. "Enter" button now enabled. I brought Main to the fore; then Freeze to the fore. No freezing. Year still showing as 2016, Month as May and Day as 25.
  6. I clicked on Enter. Freeze GUI gone; Main GUI now showing:
    processing freeze ........ selected Year = 2016 selected Month = May selected Day = 25
  7. I clicked Exit. Main GUI gone. Command line prompt returns. No error or warning messages were displayed.

If you require further help, please provide a similar step-by-step description. This should include exactly what you mean by "freezing": unresponsive buttons; drop-down lists not displaying; window stuck in the background; etc. It should also include how what you see deviates from what you expect.

— Ken

Replies are listed 'Best First'.
Re^2: Perl tk gui freezes after pop up list is launched. (readline)
by Anonymous Monk on Nov 29, 2015 at 23:26 UTC

      I wasn't aware of that OS-specific issue. Thanks for the heads-up.

      Using modules, instead of piping output from another GUI, was my first thought. My intent was to identify the issue and (hopefully) provide a better solution. Being unable to reproduce the problem rather put paid to that plan.

      — Ken