#include "Undo.h"
#include "Buffer.h"
+#include "BufferList.h"
#include "BufferParams.h"
#include "buffer_funcs.h"
#include "Cursor.h"
if (d->group_level_ == 0) {
// create a new group
++d->group_id_;
- LYXERR(Debug::UNDO, "+++++++Creating new group " << d->group_id_);
+ LYXERR(Debug::UNDO, "+++++++ Creating new group " << d->group_id_
+ << " for buffer " << &d->buffer_);
}
++d->group_level_;
}
if (d->group_level_ == 0) {
// real end of the group
d->group_cur_before_ = CursorData();
- LYXERR(Debug::UNDO, "-------End of group " << d->group_id_);
+ LYXERR(Debug::UNDO, "------- End of group " << d->group_id_
+ << " of buffer " << &d->buffer_);
}
}
UndoGroupHelper::~UndoGroupHelper()
{
for (Buffer * buf : d->buffers_)
- buf->undo().endUndoGroup();
+ if (theBufferList().isLoaded(buf) || theBufferList().isInternal(buf))
+ buf->undo().endUndoGroup();
delete d;
}