Bug #4417
closed1.7.0 - Dialogue Boxes Cause Underlying Window to Freeze
0%
Description
There seem to be a few circumstances after you get a dialogue box that causes the underlying window to freeze.
1 - failed login attempt: If you attempt to login using the main morpho window, if you enter an incorrect password, you get a "login failed" dialogue box. After you click OK and the dialogue box goes away, the main morpho window is unresponsive to mouse input.
2 - canceling a save: If you click save on a , then hit the "cancel" button on the dialogue box to abort the save, the data package window becomes unresponsive.
If you have two windows open, you can bring another window to the front (which will be responsive), and then go back to the original, previously frozen window, which will now also be responsive. If you only have one window open, though, the only option seems to be to quit and restart.
Updated by ben leinfelder about 15 years ago
i've encountered this even with just the JOptionPane that is used for "serious" Log messages. After I click OK, the underlying window is frozen and I must restart Morpho. This seems to happen mostly on OS X rather than Ubuntu.
Updated by ben leinfelder about 15 years ago
I've traced it down the the "glassPane" that is overlaid on the frame when the window is deactivated. For some reason OS X isn't sending a windowEvent for the activation when dialogs are closed or cancelled. This can be remedied by always specifying the parent frame for the dialogs. I found a few more places where this happens (on cancel):File>Login/logout...File>New Profile...File>Switch Profile...
I'm in the process of changing/fixing these.
I will mention that we could just remove the Glass Pane thing all together, even though Dan Higgins explicitly added it (r2876):
"added a 'GlassPane' to the MorphoFrame. When frame is deactivated, the GlassFrame is made visible so that tooltips are not activated, causing inadvertant window switching."
Updated by ben leinfelder about 15 years ago
Fixed the spots that were identified here. There very well could be more places where this problem occurs. At least it's easy to fix.