summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java
index 0718946e..95464f24 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java
@@ -129,11 +129,13 @@ public abstract class TransferPanel extends ActivityPanel implements TransferEve
status = I18n.ACTIVITY.getString("TransferPanel.TransferState.error");
if (transfer.isCanceled()) {
transfer.removeListener(panel);
+ releaseResources();
}
break;
case FINISHED:
transferDone();
status = I18n.ACTIVITY.getString("TransferPanel.TransferState.finished");
+ releaseResources();
break;
case IDLE:
status = I18n.ACTIVITY.getString("TransferPanel.TransferState.idle");
@@ -166,6 +168,11 @@ public abstract class TransferPanel extends ActivityPanel implements TransferEve
}
});
}
+
+ /**
+ * Called when the transfer is finished, or cancelled due to an error
+ */
+ protected abstract void releaseResources();
private void transferDone() {
transfer.removeListener(panel);