Explorar o código

Bug fix: When connecting disconnected session the directory might be loaded twice

Source commit: d5f71b032995b4533e8a6c34b34b7ca795cf4299
Martin Prikryl %!s(int64=4) %!d(string=hai) anos
pai
achega
6c45fb1167
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      source/core/Terminal.cpp

+ 5 - 1
source/core/Terminal.cpp

@@ -1672,7 +1672,11 @@ void __fastcall TTerminal::Reopen(int Params)
   {
     FReadCurrentDirectoryPending = false;
     FReadDirectoryPending = false;
-    FSuspendTransaction = true;
+    // Not sure why we are suspeding the transaction in the first place,
+    // but definitelly when set while connecting auto loaded workspace session, it causes loading the directory twice.
+    // (when reconnecting lost connection, it's usually prevented by cached directory)
+    // Preventing that by suspeding transaction only when there is one.
+    FSuspendTransaction = (FInTransaction > 0);
     FExceptionOnFail = 0;
     // typically, we avoid reading directory, when there is operation ongoing,
     // for file list which may reference files from current directory