On Tue, Mar 10, 2015 at 11:17 AM, Jean-Marc Lasgouttes <lasgout...@lyx.org> wrote: > commit 17e435c47e36effd36d25cec900369e04f6acb4e > Author: Jean-Marc Lasgouttes <lasgout...@lyx.org> > Date: Mon Mar 9 11:14:26 2015 +0100 > > Check that DocIterator::sanitize only adds editable insets > > This fixes the crash on ticket #9432, but the bug there has other causes.
This causes a new crash for me: 1. start a new LyX document 2. alt+m f to create a fraction 3. alt+m r to insert a root 4. undo I get a SIGSEGV with the following bt: ( 1) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::Alert::doError(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool) ( 2) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: void std::_Bind<void (*(std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) ( 3) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: void std::_Bind<void (*(std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>::operator()<, void>() ( 4) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: std::_Function_handler<void (), std::_Bind<void (*(std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)> >::_M_invoke(std::_Any_data const&) ( 5) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: std::function<void ()>::operator()() const ( 6) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::InGuiThread<void>::synchronousFunctionCall() ( 7) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::IntoGuiThreadMover::callInGuiThread() ( 8) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: void lyx::frontend::InGuiThread<void>::call<std::_Bind<void (*(std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)> >(std::_Bind<void (*(std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>) ( 9) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: void lyx::frontend::InGuiThread<void>::call<void (*)(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool), std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const, bool>(void (*)(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool), std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool&) ( 10) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::Alert::error(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool) ( 11) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2() [0xcbbe4b] ( 12) /lib/x86_64-linux-gnu/libc.so.6: /lib/x86_64-linux-gnu/libc.so.6(+0x36eb0) [0x7fa36d4aeeb0] ( 13) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::CursorSlice::lastpos() const ( 14) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::DocIterator::sanitize() ( 15) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::Cursor::sanitize() ( 16) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::Cursor::textUndo() ( 17) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::BufferView::dispatch(lyx::FuncRequest const&, lyx::DispatchResult&) ( 18) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiView::dispatchToBufferView(lyx::FuncRequest const&, lyx::DispatchResult&) ( 19) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiView::dispatch(lyx::FuncRequest const&, lyx::DispatchResult&) ( 20) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiApplication::dispatch(lyx::FuncRequest const&, lyx::DispatchResult&) ( 21) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiApplication::dispatch(lyx::FuncRequest const&) ( 22) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::dispatch(lyx::FuncRequest const&) ( 23) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiApplication::processFuncRequest(lyx::FuncRequest const&) ( 24) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiApplication::processKeySym(lyx::KeySymbol const&, lyx::KeyModifier) ( 25) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiWorkArea::processKeySym(lyx::KeySymbol const&, lyx::KeyModifier) ( 26) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiWorkArea::keyPressEvent(QKeyEvent*) ( 27) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QWidget::event(QEvent*) ( 28) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QFrame::event(QEvent*) ( 29) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QAbstractScrollArea::event(QEvent*) ( 30) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiWorkArea::event(QEvent*) ( 31) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QApplicationPrivate::notify_helper(QObject*, QEvent*) ( 32) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QApplication::notify(QObject*, QEvent*) ( 33) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiApplication::notify(QObject*, QEvent*) ( 34) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Core.so.5: QCoreApplication::notifyInternal(QObject*, QEvent*) ( 35) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) ( 36) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5(+0x1e2eea) [0x7fa36e464eea] ( 37) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5(+0x1e197f) [0x7fa36e46397f] ( 38) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QApplicationPrivate::notify_helper(QObject*, QEvent*) ( 39) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QApplication::notify(QObject*, QEvent*) ( 40) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiApplication::notify(QObject*, QEvent*) ( 41) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Core.so.5: QCoreApplication::notifyInternal(QObject*, QEvent*) ( 42) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Gui.so.5: QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) ( 43) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Gui.so.5: QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) ( 44) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Gui.so.5: QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ( 45) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Gui.so.5: QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ( 46) /usr/BUILD/BuildQt5-dev/qtbase/plugins/platforms/libqxcb.so: /usr/BUILD/BuildQt5-dev/qtbase/plugins/platforms/libqxcb.so(+0x9763a) [0x7fa365dfb63a] ( 47) /lib/x86_64-linux-gnu/libglib-2.0.so.0: /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x24d) [0x7fa36c600c5d] ( 48) /lib/x86_64-linux-gnu/libglib-2.0.so.0: /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x49f48) [0x7fa36c600f48] ( 49) /lib/x86_64-linux-gnu/libglib-2.0.so.0: /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7fa36c600ffc] ( 50) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Core.so.5: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ( 51) /usr/BUILD/BuildQt5-dev/qtbase/plugins/platforms/libqxcb.so: /usr/BUILD/BuildQt5-dev/qtbase/plugins/platforms/libqxcb.so(+0x9785c) [0x7fa365dfb85c] ( 52) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Core.so.5: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ( 53) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Core.so.5: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ( 54) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Core.so.5: QCoreApplication::exec() ( 55) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Gui.so.5: QGuiApplication::exec() ( 56) /usr/BUILD/BuildQt5-dev/qtbase/lib/libQt5Widgets.so.5: QApplication::exec() ( 57) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::frontend::GuiApplication::exec() ( 58) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: lyx::LyX::exec(int&, char**) ( 59) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2(main+0x6c) [0xd10156] ( 60) /lib/x86_64-linux-gnu/libc.so.6: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fa36d499ec5] ( 61) /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2: /home/scott/lyxbuilds/master/CMakeBuild/bin/lyx2.2() [0xab3999] Scott