Jürgen Spitzmüller wrote:
Abdelrazak Younes wrote:
It does not even work if I remove the bool altogether.
And if you rename the method to say, updateCommand()?
No (but I prefer that name).
Another idea... This might be related to the way we update the dialogs.
For example, I was debugging the ref dialog and upon closing, I get this:
InsetRef::updateLabels(const ParIterator & it={...}) Line 153
updateLabels(const Buffer & buf={...}, ParIterator & parit={...}) Line
471 + 0x24 bytes C++
updateLabels(const Buffer & buf={...}, bool childonly=false) Line 510 +
0xd bytes C++
Buffer::loadChildDocuments() Line 2398 + 0xb bytes C++
Buffer::getLabelList(std::vector<std::basic_string<unsigned
long,std::char_traits<unsigned long>,std::allocator<unsigned long>
>,std::allocator<std::basic_string<unsigned
long,std::char_traits<unsigned long>,std::allocator<unsigned long> > > >
& list=[0]()) Line 1375 C++
frontend::GuiRef::updateRefs() Line 344 C++
frontend::GuiRef::updateContents() Line 225 C++
frontend::GuiDialog::updateView() Line 104 + 0x16 bytes C++
frontend::GuiView::updateBufferDependent(bool switched=true) Line 2150
+ 0xf bytes C++
This possibly means that the dialog might trigger an updateLabels()
while we are modifying the labels themselves, thus ruining our effort...
just a theory...
Abdel.