Comments (8)
Note: Inside
Lines 1474 to 1700 in 2068c46
RemoveTemp
deleting temporary files in Lines 1696 to 1697 in 2068c46
But in each press F3 or F4 RemoveTemp
initialized as false
and should no influence to real files.
from far2l.
It seems that problem is really in findfile.cpp, but a little earlier in the code, namely here:
Lines 1673 to 1679 in 2068c46
if FindItem.ArcIndex != LIST_INDEX_NONE
, then the instance of FindDlg_TempFileHolder will be created. This class inherited from TempFileUploadHolder, which in turn is inherited from TempFileHolder.
The actual file deletion is done in the TempFileHolder::~TempFileHolder() which will be called as the base class destructor when the instance of FindDlg_TempFileHolder
is destroyed:
far2l/far2l/src/fileholder.cpp
Lines 60 to 66 in 2068c46
from far2l.
So, the problem is that the files found on a second search from "Temporary panel" are treated as temporary files, as if the search was done in an archive and they were extracted to /tmp.
UPD: perhaps subsequent digging should be made around this line of code (may be not).
Получается, причина в том, что при поиске файлов на "Временной панели" они рассматриваются как найденные в архиве, интерпретируются как временные, распакованные в /tmp, после чего благополучно грохаются (вместе с содержащей их директорией, если там больше ничего нет).
from far2l.
Оставить просто
TFH = std::make_shared<FileHolder>(strSearchFileName);
мы не можем, хотя бы потому что таким образом мы убьём одну из фич far2l — а именно сохранение сделанных при редактировании изменений обратно в архив. Так как в ветке, получающей управление при запросе на редактирование по F4, потом дёргается
Line 1686 in 2068c46
А она в базовом классе, FileHolder, не имеет реализации, а реализована только в непосредственном предке FindDlg_TempFileHolder — в TempFileUploadHolder .
from far2l.
Есть ощущение, что можно попробовать пофиксить, изменив логику где-то в этой области:
Lines 2447 to 2464 in 2068c46
Именно тут функцией AddArcListItem файлы со временной панели незаслуженно отправляются в ArcList :
Line 2454 in 2068c46
Допустим, проверять, и если мы на tmppanel, а не multiarc, то всех этих телодвижений не выполнять?
from far2l.
Допустим, проверять, и если мы на tmppanel, а не multiarc, то всех этих телодвижений не выполнять?
А сделайте PR мне в staging, посмотрим как это у людей работать будет, если ничего нигде не сломается, зашлём сюда.
from far2l.
Вроде #2229 исправляет без внесения новых глюков, но проверьте кто может крайние случаи и в них ситуацию перехода по F6 между редактором и просмоторщиком и обратно.
from far2l.
Забрал в свою ветку staging, у неё отдельный ppa и там некоторое количество людей из чята на ней сидят. Поглядим, не будет ли жалоб.
from far2l.
Related Issues (20)
- Function Menu: BreakKeys problem
- Colorer failed to build on ARM HOT 1
- Black and white mode is no longer pure black and white
- Unable to build from "master" branch HOT 4
- build: NetRocks and depends on ssl
- Separate proxy per NetRocks connection like in Far3 windows HOT 7
- "[sudo]: command not found" in NixOS HOT 3
- rename folder in case-insensitive File System HOT 1
- Netrocks: Non-empty folder deletion failure HOT 4
- PANIC-PANIC during Quick view of a directory containing inaccessible folders HOT 2
- Disable GNOME keyboard shortcuts for GTK version (Alt-F2 etc.) HOT 2
- If [un]archiver tool from custom.ini is not found, try to open same archive using built-in code
- Restore colors palette
- macOS compilation error HOT 7
- [ma] far2l fails to extract some files from two zip archives HOT 1
- Под ubuntu 24 собранный пакет не устанавливается, надо добавить libnfs14
- Thicker cursor in tty mode (or configurable)
- Проблема с некоторыми архивами .zip HOT 2
- Clipboard problem in Wayland - doesn't copy clipboard content from Far2l into other applications HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from far2l.