Explorar o código

Bug 1836: Option to disconnect a session was available even while deleting local files, and caused failure when selected while no session was actually opened

https://winscp.net/tracker/1836

Source commit: 9a1cf1ce94a2279136ce3f8ddd4f4c8eb83d7c8a
Martin Prikryl %!s(int64=5) %!d(string=hai) anos
pai
achega
5b81fbf2b4
Modificáronse 1 ficheiros con 7 adicións e 5 borrados
  1. 7 5
      source/forms/Progress.cpp

+ 7 - 5
source/forms/Progress.cpp

@@ -139,11 +139,13 @@ void __fastcall TProgressForm::UpdateControls()
   SkipItem->Visible = TransferOperation && FAllowSkip;
   SkipItem->Enabled = !FReadOnly && (FCancel < csCancelFile) && !FPendingSkip;
   MoveToQueueItem->Enabled = !FMoveToQueue && (FCancel == csContinue) && !FPendingSkip;
-  CycleOnceDoneItem->Visible =
-    !FReadOnly &&
-    (FData.Operation != foCalculateSize) &&
-    (FData.Operation != foGetProperties) &&
-    (FData.Operation != foCalculateChecksum);
+  bool HideOnceDone =
+    FReadOnly ||
+    (FData.Operation == foCalculateSize) ||
+    (FData.Operation == foGetProperties) ||
+    (FData.Operation == foCalculateChecksum) ||
+    ((FData.Operation == foDelete) && (FData.Side == osLocal));
+  CycleOnceDoneItem->Visible = !HideOnceDone;
   CycleOnceDoneItem->ImageIndex = CurrentOnceDoneItem()->ImageIndex;
   SpeedComboBoxItem->Visible = TransferOperation;