Browse Source

Perform windowClose methods on the EDT.

Change-Id: If35167b19ad1642e0b38abd4a4a8425588d66821
Reviewed-on: http://gerrit.dmdirc.com/3627
Reviewed-by: Chris Smith <chris@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
changes/27/3627/2
Greg Holmes 10 years ago
parent
commit
ae9a6ae6cd

+ 9
- 4
src/com/dmdirc/addons/ui_swing/components/frames/ChannelFrame.java View File

@@ -275,11 +275,16 @@ public final class ChannelFrame extends InputTextFrame implements ActionListener
275 275
 
276 276
     @Override
277 277
     public void windowClosing(final FrameContainer window) {
278
-        saveSplitPanePosition();
279
-        topicBar.close();
280
-        dialogProvider.dispose(channel);
278
+        UIUtilities.invokeLater(new Runnable() {
281 279
 
282
-        super.windowClosing(window);
280
+            @Override
281
+            public void run() {
282
+                saveSplitPanePosition();
283
+                topicBar.close();
284
+                dialogProvider.dispose(channel);
285
+                ChannelFrame.super.windowClosing(window);
286
+            }
287
+        });
283 288
     }
284 289
 
285 290
     @Override

+ 9
- 2
src/com/dmdirc/addons/ui_swing/components/frames/ServerFrame.java View File

@@ -24,6 +24,7 @@ package com.dmdirc.addons.ui_swing.components.frames;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.ServerState;
27
+import com.dmdirc.addons.ui_swing.UIUtilities;
27 28
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
28 29
 import com.dmdirc.addons.ui_swing.dialogs.serversetting.ServerSettingsDialog;
29 30
 import com.dmdirc.addons.ui_swing.dialogs.sslcertificate.SSLCertificateDialog;
@@ -173,8 +174,14 @@ public final class ServerFrame extends InputTextFrame implements
173 174
 
174 175
     @Override
175 176
     public void windowClosing(final FrameContainer window) {
176
-        dialogProvider.dispose(connection);
177
-        super.windowClosing(window);
177
+        UIUtilities.invokeLater(new Runnable() {
178
+
179
+            @Override
180
+            public void run() {
181
+                dialogProvider.dispose(connection);
182
+                ServerFrame.super.windowClosing(window);
183
+            }
184
+        });
178 185
     }
179 186
 
180 187
     @Override

+ 8
- 2
src/com/dmdirc/addons/ui_swing/components/frames/TextFrame.java View File

@@ -492,8 +492,14 @@ public abstract class TextFrame extends JPanel implements com.dmdirc.interfaces.
492 492
 
493 493
     @Override
494 494
     public void windowClosing(final FrameContainer window) {
495
-        setVisible(false);
496
-        getTextPane().close();
495
+        UIUtilities.invokeLater(new Runnable() {
496
+
497
+            @Override
498
+            public void run() {
499
+                setVisible(false);
500
+                getTextPane().close();
501
+            }
502
+        });
497 503
     }
498 504
 
499 505
     /**

Loading…
Cancel
Save