diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml
index de496fe6..e35e1029 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/update.xml
+++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml
@@ -2910,6 +2910,10 @@
IMPROVEMENT
Faster auto-scroll while dragging a component outside the visible portion of the canvas
+
+ IMPROVEMENT
+ Prevent the app from closing while running background operations, like saving and exporting files
+
BUG_FIX
Older files that contain "Open Jack 1/4" components sometimes open with the jacks rotated the wrong way
diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
index 8ab4fbf6..2f97df1a 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
@@ -144,7 +144,11 @@ public class MainFrame extends JFrame implements ISwingUI {
addWindowListener(new WindowAdapter() {
@Override
- public void windowClosed(WindowEvent e) {
+ public void windowClosed(WindowEvent e) {
+ if (getGlassPane().isVisible()) {
+ LOG.info("Prevented the app from closing because a running task is detected");
+ return;
+ }
if (presenter.allowFileAction()) {
ConfigurationManager.getInstance().writeValue(IPlugInPort.ABNORMAL_EXIT_KEY, false);
dispose();