mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-30 05:12:40 +00:00
I've had to revert r25548 because of:
gdb /home/rgheck/cvs/lyx-devel/trunk/src/lyx --interpreter=mi2 -quiet Using host libthread_db library "/lib64/libthread_db.so.1". (gdb) bt bt #0 0x000000369a230ec5 in raise () from /lib64/libc.so.6 #1 0x000000369a232970 in abort () from /lib64/libc.so.6 #2 0x000000369a26b0db in __libc_message () from /lib64/libc.so.6 #3 0x000000369a272832 in _int_free () from /lib64/libc.so.6 #4 0x000000369a275f2c in free () from /lib64/libc.so.6 #5 0x00000000004ebbdc in std::_Rb_tree<int, std::pair<int const, lyx::Author>, std::_Select1st<std::pair<int const, lyx::Author> >, std::less<int>, std::allocator<std::pair<int const, lyx::Author> > >::_M_erase (this=0x32c7f68, __x=0x30ece10) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/ext/new_allocator.h:94 #6 0x00000000004ebe99 in ~map (this=0x32c7f68) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:578 #7 0x00000000004df21f in lyx::BufferParams::MemoryTraits::destroy (ptr=0x32c7f60) at Author.h:50 #8 0x00000000004855e4 in ~copied_ptr (this=<value optimized out>) at ../../../src/support/copied_ptr.h:69 #9 0x0000000000488f93 in ~BufferParams (this=0x32c7b30) at ../../../src/BufferParams.h:52 #10 0x0000000000748585 in ~UndoElement (this=0x7fffc1aeebd0) at Undo.cpp:82 #11 0x0000000000745be8 in lyx::Undo::Private::doRecordUndo (this=0x2ef9630, kind=lyx::ATOMIC_UNDO, cell=<value optimized out>, first_pit=<value optimized out>, last_pit=<value optimized out>, cur=<value optimized out>, isFullBuffer=true, isUndoOperation=true) at Undo.cpp:278 #12 0x0000000000745ce7 in lyx::Undo::recordUndoFullDocument (this=0x2ea5620, cur=@0x2f04238) at Undo.cpp:443 #13 0x00000000007a73cc in lyx::Cursor::recordUndoFullDocument (this=0x2f04238) at Cursor.cpp:2139 #14 0x00000000006374e8 in lyx::LyXFunc::dispatch (this=0x2a431a0, cmd=@0x7fffc1af0e20) at LyXFunc.cpp:1426 #15 0x000000000060630c in lyx::dispatch (action=@0x7fffc1af0e20) at LyX.cpp:1131 #16 0x0000000000b1740a in lyx::frontend::Dialog::dispatch (this=<value optimized out>, fr=@0x7fffc1af0e20) at Dialog.cpp:62 #17 0x0000000000b6787b in dispatch_bufferparams (dialog=@0x30e1288, bp=@0x30e1470, lfun=lyx::LFUN_BUFFER_PARAMS_APPLY) at GuiDocument.cpp:2244 #18 0x0000000000b7825b in lyx::frontend::GuiDocument::dispatchParams (this=0x30e1260) at GuiDocument.cpp:2255 #19 0x0000000000b1766e in lyx::frontend::Dialog::apply (this=0x30e1288) at Dialog.cpp:159 #20 0x0000000000b647d8 in lyx::frontend::GuiDialog::slotOK (this=0x30e1260) at GuiDialog.cpp:56 #21 0x0000000000b64871 in lyx::frontend::GuiDialog::qt_metacall (this=0x30e1260, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffc1af2290) at GuiDialog_moc.cpp:73 #22 0x0000000000b83fed in lyx::frontend::GuiDocument::qt_metacall (this=0x4f17, _c=20247, _id=6, _a=0xffffffffffffffff) at GuiDocument_moc.cpp:90 #23 0x00000034e9cf3d71 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4 #24 0x00000034ea5f3007 in QAbstractButton::clicked () from /usr/lib64/libQtGui.so.4 #25 0x00000034ea416c3b in QAbstractItemModel::sort () from /usr/lib64/libQtGui.so.4 #26 0x00000034ea4182c5 in QAbstractItemModel::sort () from /usr/lib64/libQtGui.so.4 #27 0x00000034ea4184cd in QAbstractButton::mouseReleaseEvent () from /usr/lib64/libQtGui.so.4 #28 0x00000034ea1cf35a in QWidget::event () from /usr/lib64/libQtGui.so.4 #29 0x00000034ea4177df in QAbstractButton::event () from /usr/lib64/libQtGui.so.4 #30 0x00000034ea491778 in QPushButton::event () from /usr/lib64/libQtGui.so.4 #31 0x00000034ea19274c in QApplicationPrivate::notify_helper () from /usr/lib64/libQtGui.so.4 #32 0x00000034ea198c1b in QApplication::notify () from /usr/lib64/libQtGui.so.4 #33 0x0000000000a8084a in lyx::frontend::GuiApplication::notify (this=0x4f17, receiver=0x4f17, event=0x6) at GuiApplication.cpp:1163 #34 0x00000034e9ce3700 in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4 #35 0x00000034ea1df95d in QAbstractItemModel::sort () from /usr/lib64/libQtGui.so.4 #36 0x00000034ea1de900 in QApplication::x11ProcessEvent () from /usr/lib64/libQtGui.so.4 #37 0x00000034ea200778 in QAbstractItemModel::sort () from /usr/lib64/libQtGui.so.4 #38 0x000000369f62ef53 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #39 0x000000369f63224d in QAbstractItemModel::sort () from /lib64/libglib-2.0.so.0 #40 0x000000369f63277e in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #41 0x00000034e9d01930 in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4 #42 0x00000034ea20057f in QAbstractItemModel::sort () from /usr/lib64/libQtGui.so.4 #43 0x00000034e9ce2da8 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4 #44 0x00000034e9ce2ebd in QEventLoop::exec () from /usr/lib64/libQtCore.so.4 #45 0x00000034e9ce4e71 in QCoreApplication::exec () from /usr/lib64/libQtCore.so.4 #46 0x0000000000a7fb83 in lyx::frontend::GuiApplication::exec (this=<value optimized out>) at GuiApplication.cpp:1032 #47 0x00000000006101e4 in lyx::LyX::exec (this=0x7fffc1af4cf0, argc=@0x7fffc1af4cec, argv=<value optimized out>) at LyX.cpp:342 #48 0x0000000000433aa8 in main (argc=1, argv=0x7fffc1af4df8) at main.cpp:46 ^done I don't know at all what's up here with copied_ptr. Hadn't even heard of it until five minutes ago. ;-) You can cause this crash by opening a new document, opening Document>Settings and changing (say) the Bibliography settings, and then hitting "OK". git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25617 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
1d0bac1144
commit
a282ef926a
16
src/Undo.cpp
16
src/Undo.cpp
@ -73,13 +73,8 @@ struct UndoElement
|
||||
MathData * ar, BufferParams const & bp,
|
||||
bool ifb) :
|
||||
kind(kin), cursor(cur), cell(cel), from(fro), end(en),
|
||||
pars(pl), array(ar), bparams(0), isFullBuffer(ifb)
|
||||
{
|
||||
if (isFullBuffer)
|
||||
bparams = new BufferParams(bp);
|
||||
}
|
||||
///
|
||||
~UndoElement() { delete bparams; }
|
||||
pars(pl), array(ar), bparams(bp), isFullBuffer(ifb)
|
||||
{}
|
||||
/// Which kind of operation are we recording for?
|
||||
UndoKind kind;
|
||||
/// the position of the cursor
|
||||
@ -95,7 +90,7 @@ struct UndoElement
|
||||
/// the contents of the saved MathData (for mathed)
|
||||
MathData * array;
|
||||
/// Only used in case of full backups
|
||||
BufferParams const * bparams;
|
||||
BufferParams bparams;
|
||||
/// Only used in case of full backups
|
||||
bool isFullBuffer;
|
||||
private:
|
||||
@ -327,9 +322,8 @@ bool Undo::Private::textUndoOrRedo(DocIterator & cur, bool isUndoOperation)
|
||||
if (undo.isFullBuffer) {
|
||||
LASSERT(undo.pars, /**/);
|
||||
// This is a full document
|
||||
delete otherstack.top().bparams;
|
||||
otherstack.top().bparams = new BufferParams(buffer_.params());
|
||||
buffer_.params() = *undo.bparams;
|
||||
otherstack.top().bparams = buffer_.params();
|
||||
buffer_.params() = undo.bparams;
|
||||
swap(buffer_.paragraphs(), *undo.pars);
|
||||
delete undo.pars;
|
||||
undo.pars = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user