Jean-Marc Lasgouttes wrote:
> OK, try this new version instead. I undid the simplifications to the
> code, since they were wrong %-] So now the code for
> LFUN_NEXT_INSET_TOGGLE is basically moved as is to BufferView::Pimpl.
It seems to work as expected. I don't get the console output anymore, and the
behaviour looks sensible.
This time, I managed to reproduce the crash in gdb. It seems to be not
related, but related to preview (another gcc-4.1/boost issue I suppose).
Backtrace is below.
> One thing I failed to do is to allow locking an outermost math inset.
Did this ever work?
Jürgen
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1221531984 (LWP 7170)]
0x0827aff2 in RenderPreview::imageReady (this=0x887d048, [EMAIL PROTECTED])
at /usr/include/c++/4.1.0/bits/basic_string.h:591
591 { return _M_rep()->_M_length; }
(gdb) bt
#0 0x0827aff2 in RenderPreview::imageReady (this=0x887d048,
[EMAIL PROTECTED])
at /usr/include/c++/4.1.0/bits/basic_string.h:591
#1 0x0827c6a5 in
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, RenderPreview, lyx::graphics::PreviewImage const&>,
boost::_bi::list2<boost::_bi::value<RenderPreview*>, boost::arg<1> > >, void,
lyx::graphics::PreviewImage const&>::invoke (function_obj_ptr=
{obj_ptr = 0x88d67f8, const_obj_ptr = 0x88d67f8, func_ptr = 0x88d67f8,
data = ""},
[EMAIL PROTECTED]) at ../../boost/boost/bind/mem_fn_template.hpp:149
#2 0x084d2d34 in boost::function1<void, lyx::graphics::PreviewImage const&,
std::allocator<void> >::operator() (this=0x88d69d4, [EMAIL PROTECTED])
at ../../boost/boost/function/function_template.hpp:581
#3 0x084d2d8d in
boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<lyx::graphics::PreviewImage
const&, boost::function<void ()(lyx::graphics::PreviewImage const&),
std::allocator<void> > >, boost::signals::detail::named_slot_map_iterator>,
boost::signals::detail::unusable, boost::single_pass_traversal_tag,
boost::signals::detail::unusable const&, int> ([EMAIL PROTECTED])
at ../../boost/boost/signals/signal_template.hpp:119
#4 0x084d350d in boost::signal1<void, lyx::graphics::PreviewImage const&,
boost::last_value<void>, int, std::less<int>, boost::function<void ()
(lyx::graphics::PreviewImage const&), std::allocator<void> > >::operator()
(this=0x87f4a9c, [EMAIL PROTECTED])
at ../../boost/boost/last_value.hpp:43
#5 0x084ce3d3 in lyx::graphics::PreviewLoader::Impl::finishedGenerating
(this=0x87f4a90,
pid=7203, retval=0) at PreviewLoader.C:580
#6 0x084d1242 in
boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void,
boost::_mfi::mf2<void, lyx::graphics::PreviewLoader::Impl, int, int>,
boost::_bi::list3<boost::_bi::value<lyx::graphics::PreviewLoader::Impl*>,
boost::arg<1>, boost::arg<2> > >, void, int, int>::invoke (function_obj_ptr=
{obj_ptr = 0x88dbd60, const_obj_ptr = 0x88dbd60, func_ptr = 0x88dbd60,
data = "`"},
a0=7203, a1=0) at ../../boost/boost/bind/mem_fn_template.hpp:252
#7 0x084efd9b in boost::function2<void, int, int, std::allocator<void>
>::operator() (
---Type <return> to continue, or q <return> to quit---
this=0x88dbd4c, a0=7203, a1=0)
at ../../boost/boost/function/function_template.hpp:581
#8 0x084f02c4 in
boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<int,
int, boost::function<void ()(int, int), std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator>,
boost::signals::detail::unusable, boost::single_pass_traversal_tag,
boost::signals::detail::unusable const&, int> ([EMAIL PROTECTED])
at ../../boost/boost/signals/signal_template.hpp:119
#9 0x084f0cfd in boost::signal2<void, int, int, boost::last_value<void>, int,
std::less<int>, boost::function<void ()(int, int), std::allocator<void> >
>::operator() (this=0x88d9500,
a1=7203, a2=0) at ../../boost/boost/last_value.hpp:43
#10 0x084ef5df in lyx::support::ForkedProcess::emitSignal (this=0x887d064) at
forkedcall.C:126
#11 0x084f3a13 in
lyx::support::ForkedcallsController::handleCompletedProcesses (
this=0x86943e8) at forkedcontr.C:190
#12 0x080651e0 in BufferView::Pimpl::cursorToggle (this=0x87d6e08) at
BufferView_pimpl.C:733
#13 0x08072e1e in
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::mf0<void, BufferView::Pimpl>,
boost::_bi::list1<boost::_bi::value<BufferView::Pimpl*> > >, void>::invoke
(function_obj_ptr=
{obj_ptr = 0x87d4280, const_obj_ptr = 0x87d4280, func_ptr = 0x87d4280,
data = "\200"})
at ../boost/boost/bind/mem_fn_template.hpp:45
#14 0x080788cd in boost::function0<void, std::allocator<void> >::operator()
(this=0x87d426c)
at ../../boost/boost/function/function_template.hpp:581
#15 0x08078914 in
boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function<void
()(), std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator>,
boost::signals::detail::unusable, boost::single_pass_traversal_tag,
boost::signals::detail::unusable const&, int> ([EMAIL PROTECTED])
at ../../boost/boost/signals/signal_template.hpp:119
#16 0x0807907d in boost::signal0<void, boost::last_value<void>, int,
std::less<int>, boost::function<void ()(), std::allocator<void> >
>::operator() (this=0x87d6e8c)
at ../../boost/boost/last_value.hpp:43
#17 0x0830e141 in Timeout::emit (this=0x87d6e8c) at Timeout.C:51
#18 0x08319152 in qtTimeout::timerEvent (this=0x87d1e60)
at ../../../src/frontends/Timeout.h:72
---Type <return> to continue, or q <return> to quit---
#19 0xb7b1e892 in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#20 0xb7abfec7 in QApplication::internalNotify ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#21 0xb7ac0c91 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0xb7ab5055 in QEventLoop::activateTimers ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0xb7a6f8a0 in QEventLoop::processEvents ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#24 0xb7ad6ce8 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#25 0xb7ad6b7e in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0xb7abfa7f in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#27 0x0837d779 in lyx_gui::start ([EMAIL PROTECTED], [EMAIL PROTECTED]) at
lyx_gui.C:253
#28 0x08144288 in LyX::exec2 (this=0x86cd8f8, [EMAIL PROTECTED],
argv=0xbffde6e4)
at lyx_main.C:298
#29 0x0837e366 in lyx_gui::exec ([EMAIL PROTECTED], argv=0xbffde6e4) at
lyx_gui.C:215
#30 0x081454f9 in LyX::priv_exec (this=0x86cd8f8, [EMAIL PROTECTED],
argv=0xbffde6e4)
at lyx_main.C:225
#31 0x08145a0a in LyX::exec ([EMAIL PROTECTED], argv=0xbffde6e4) at
lyx_main.C:154
#32 0x08062768 in main (argc=1, argv=0x0) at main.C:47