User forums > Help

The tabs close when you save a file.

<< < (2/2)

christo:
I could reproduce the issue. Editor is closed by below call trace. Looks like it is caused by Glob feature. I'm not much familiar with that feature. When I remove all the glob related data from the cbp manually, issue was not seen.


--- Code: ---#0  cbEditor::~cbEditor (this=0x452eda0) at cbeditor.cpp:843
#1  0x00007ffff63a86df in wxWindowBase::Destroy (this=0x452eda0) at ../src/common/wincmn.cpp:570
#2  0x00007ffff626634d in wxBookCtrlBase::DeletePage (this=0x1251170, nPage=37) at ../src/common/bookctrl.cpp:412
#3  0x00007ffff7771d65 in cbAuiNotebook::DeletePage (this=0x1251170, page=37) at cbauibook.cpp:475
#4  0x00007ffff7878992 in EditorManager::Close (this=0x11fb930, editor=0x452eda0, dontsave=false) at editormanager.cpp:758
#5  0x00007ffff78788fd in EditorManager::Close (this=0x11fb930, filename=..., dontsave=false) at editormanager.cpp:745
#6  0x00007ffff77b3cad in cbProject::RemoveFile (this=0x30ddcf0, pf=0x30ee360) at cbproject.cpp:1016
#7  0x00007ffff7916c7b in ProjectLoader::UpdateGlob (this=0x7fffffffd390, glob=...) at projectloader.cpp:1143


--- End code ---

blauzahn:
A quick glance into projectloader.cpp function UpdateGlob shows a range for-loop with a temporary a few lines above line 1143:


--- Code: ---// First search for valid project files (glob id) and also for project files we have to remove
for (ProjectFile* file : m_pProject->GetFilesList())

--- End code ---

This has been fixed in C++23 (see: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2644r1.pdf).

In the meantime I recommend to put the file list into a local variable like that:


--- Code: ---// First search for valid project files (glob id) and also for project files we have to remove
const auto& files = m_pProject->GetFilesList();
for (ProjectFile* file : files)

--- End code ---

It may not be the reason for this issue but should be fixed anyway.

christo:
Issue is due to an extra file separator added in calculating relative path. This causes false failure  on checking if file is in glob list. And it results in editor being closed.

Fix added in svn r13949

killerbot:
I originally wrote the glob feature, and then somebody worked on it, to provide a UI, and some other features.
Since that day, it has been driving me crazy, what I suffered from was, when I edited such opened file, and saved it, it always jumped to the start of the file, and the close thing I might have suffered from that too.

So nice to see, there is a fix. I will try to check if in my projects this is solved too.

I started ditching the glob feature use due to that regression, since I don't have time myself to go study what happened to the original feature.

Navigation

[0] Message Index

[*] Previous page

Go to full version