On Sep 20, 2005, at 6:16 AM, Andreas Vox wrote:
What about this patch:
Index: src/frontends/qt2/QLyXKeySym.C
==========================
RCS file: /var/cvs/lyx/lyx-devel/src/frontends/qt2/QLyXKeySym.C,v
retrieving revision 1.34
diff -u -p -r1.34 QLyXKeySym.C
--- src/frontends/qt2/QLyXKeySym.C 17 Jul 2005 11:58:54
-0000 1.34
+++ src/frontends/qt2/QLyXKeySym.C 20 Sep 2005 10:13:45 -0000
@@ -93,6 +93,7 @@ void initEncodings()
string::size_type i = s.find(".");
s = s.substr(0, i);
+ encoding_map["C"] = QTextCodec::codecForName("Latin-1");
encoding_map["iso8859-1"] = QTextCodec::codecForName("ISO
8859-1");
encoding_map["iso8859-2"] = QTextCodec::codecForName("ISO
8859-2");
encoding_map["iso8859-3"] = QTextCodec::codecForName("ISO
8859-3");
I wasn't sure whether this was supposed to be applied on top of Jean-
Marc's encoding.diff or not, so I tried it both ways with the same
results. (See the backtrace below.)
Bennett
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
(anonymous namespace)::encode ([EMAIL PROTECTED], [EMAIL PROTECTED]) at
QLyXKeySym.C:59
59 if (!codec->canEncode(str)) {
(gdb) bt
#0 (anonymous namespace)::encode ([EMAIL PROTECTED], [EMAIL PROTECTED]) at
QLyXKeySym.C:59
#1 0x0016886c in QLyXKeySym::getISOEncoded (this=0xb92c7b0,
[EMAIL PROTECTED]) at QLyXKeySym.C:201
#2 0x00063a10 in LyXFunc::processKeySym (this=0xb950260, keysym={px
= 0xbfffe300, pn = {pi_ = 0x3}}, state=ctrl) at ../boost/boost/
shared_ptr.hpp:252
#3 0x00008c3c in BufferView::Pimpl::workAreaKeyPress
(this=0xb9509c0, key={px = 0x0, pn = {pi_ = 0x94ab1c}}, state=none)
at frontends/LyXView.h:83
#4 0x0064fd48 in
boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<v
oid, boost::_mfi::mf2<void, BufferView::Pimpl,
boost::shared_ptr<LyXKeySym>, key_modifier::state>,
boost::_bi::list3<boost::_bi::value<BufferView::Pimpl*>,
boost::arg<1>, boost::arg<2> > >, void, boost::shared_ptr<LyXKeySym>,
key_modifier::state>::invoke (function_obj_ptr={obj_ptr = 0x94869c,
const_obj_ptr = 0x94869c, func_ptr = 0x94869c
<std::string::_S_empty_rep_storage+12>, data = ""}, a0=Cannot access
memory at address 0x0
) at ../boost/boost/detail/shared_count.hpp:124
#5 0x00875bcc in boost::function2<void,
boost::shared_ptr<LyXKeySym>, key_modifier::state,
std::allocator<void> >::operator() () at ../../../boost/boost/
function/function_template.hpp:581
#6 0x00875804 in
boost::signals::detail::call_bound2<void>::caller<boost::shared_ptr<LyXK
eySym>, key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
std::allocator<void> > >::operator()
<boost::signals::detail::connection_slot_pair> (this=0xbfffe798,
[EMAIL PROTECTED]) at ../../../boost/boost/signals/signal_template.hpp:119
#7 0x008754ec in
boost::signals::detail::slot_call_iterator<boost::signals::detail::call_
bound2<void>::caller<boost::shared_ptr<LyXKeySym>,
key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator>::dereference
(this=0xbfffe790) at ../../../boost/boost/signals/detail/
slot_call_iterator.hpp:68
#8 0x0087500c in
boost::iterator_core_access::dereference<boost::signals::detail::slot_ca
ll_iterator<boost::signals::detail::call_bound2<void>::caller<boost::sha
red_ptr<LyXKeySym>, key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator> > ([EMAIL PROTECTED])
at ../../../boost/boost/iterator/iterator_facade.hpp:516
#9 0x0087496c in
boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost:
:signals::detail::call_bound2<void>::caller<boost::shared_ptr<LyXKeySym>
, key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
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>::operator*
(this=0xbfffe790) at ../../../boost/boost/iterator/
iterator_facade.hpp:634
#10 0x00873fa8 in
boost::detail::postfix_increment_proxy<boost::signals::detail::slot_call
_iterator<boost::signals::detail::call_bound2<void>::caller<boost::share
d_ptr<LyXKeySym>, key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator>
>::postfix_increment_proxy (this=0xbfffe6f0, [EMAIL PROTECTED])
at ../../../boost/boost/iterator/iterator_facade.hpp:144
#11 0x00873f70 in
boost::detail::postfix_increment_proxy<boost::signals::detail::slot_call
_iterator<boost::signals::detail::call_bound2<void>::caller<boost::share
d_ptr<LyXKeySym>, key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator>
>::postfix_increment_proxy (this=0xbfffe6f0, [EMAIL PROTECTED])
at ../../../boost/boost/iterator/iterator_facade.hpp:144
#12 0x008736c8 in boost::operator+
+<boost::signals::detail::slot_call_iterator<boost::signals::detail::cal
l_bound2<void>::caller<boost::shared_ptr<LyXKeySym>,
key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
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/iterator/iterator_facade.hpp:732
#13 0x00872ac0 in boost::last_value<void>::operator()
<boost::signals::detail::slot_call_iterator<boost::signals::detail::call
_bound2<void>::caller<boost::shared_ptr<LyXKeySym>,
key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator> > (this=0xb94c904,
first=
{<iterator_facade<boost::signals::detail::slot_call_iterator<boost::sign
als::detail::call_bound2<void>::caller<boost::shared_ptr<LyXKeySym>,
key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator>,boost::signals::detail:
:unusable,boost::single_pass_traversal_tag,const
boost::signals::detail::unusable&,int>> = {<No data fields>}, iter =
{<iterator_facade<boost::signals::detail::named_slot_map_iterator,boost:
:signals::detail::connection_slot_pair,boost::forward_traversal_tag,boos
t::signals::detail::connection_slot_pair&,int>> = {<No data fields>},
impl_ = {ptr = 0xb9484a0}}, end =
{<iterator_facade<boost::signals::detail::named_slot_map_iterator,boost:
:signals::detail::connection_slot_pair,boost::forward_traversal_tag,boos
t::signals::detail::connection_slot_pair&,int>> = {<No data fields>},
impl_ = {ptr = 0xb9484b0}}, f = {args = 0xbfffe760}, cache = {px =
0x0, pn = {pi_ = 0x0}}}, last=
{<iterator_facade<boost::signals::detail::slot_call_iterator<boost::sign
als::detail::call_bound2<void>::caller<boost::shared_ptr<LyXKeySym>,
key_modifier::state, boost::function<void ()
(boost::shared_ptr<LyXKeySym>, key_modifier::state),
std::allocator<void> > >,
boost::signals::detail::named_slot_map_iterator>,boost::signals::detail:
:unusable,boost::single_pass_traversal_tag,const
boost::signals::detail::unusable&,int>> = {<No data fields>}, iter =
{<iterator_facade<boost::signals::detail::named_slot_map_iterator,boost:
:signals::detail::connection_slot_pair,boost::forward_traversal_tag,boos
t::signals::detail::connection_slot_pair&,int>> = {<No data fields>},
impl_ = {ptr = 0xf68d910}}, end =
{<iterator_facade<boost::signals::detail::named_slot_map_iterator,boost:
:signals::detail::connection_slot_pair,boost::forward_traversal_tag,boos
t::signals::detail::connection_slot_pair&,int>> = {<No data fields>},
impl_ = {ptr = 0xf68d920}}, f = {args = 0xbfffe760}, cache = {px =
0x0, pn = {pi_ = 0x0}}}) at ../../../boost/boost/last_value.hpp:43
#14 0x008718b8 in boost::signal2<void, boost::shared_ptr<LyXKeySym>,
key_modifier::state, boost::last_value<void>, int, std::less<int>,
boost::function<void ()(boost::shared_ptr<LyXKeySym>,
key_modifier::state), std::allocator<void> > >::operator()
(this=0xb950b14, a1={px = 0xf66c2a0, pn = {pi_ = 0x0}}, a2=ctrl)
at ../../../boost/boost/signals/signal_template.hpp:347
#15 0x0034613c in QContentPane::keyeventTimeout (this=0xb9512c0) at
QContentPane.C:279
#16 0x0043fe20 in QContentPane::qt_invoke (this=0xb9512c0, _id=47,
_o=0xbfffe9d0) at QContentPane_moc.C:91
#17 0x001cfcb8 in QObject::activate_signal () at
ControlCommandBuffer.C:137
#18 0x001cfba0 in QObject::activate_signal () at
ControlCommandBuffer.C:137
#19 0x002db760 in QTimer::event () at lengthcombo.C:70
#20 0x001b8d14 in QApplication::internalNotify () at qt_helpers.C:203
#21 0x001b890c in QApplication::notify () at qt_helpers.C:203
#22 0x0034c85c in QEventLoop::macHandleTimer () at
QAskForTextDialog.C:87
#23 0x002207d4 in QApplication::globalEventProcessor () at
lcolorcache.C:40
#24 0x931288d4 in DispatchEventToHandlers ()
#25 0x9312802c in SendEventToEventTargetInternal ()
#26 0x93127ea8 in SendEventToEventTargetWithOptions ()
#27 0x9312f1ec in ToolboxEventDispatcherHandler ()
#28 0x93128b24 in DispatchEventToHandlers ()
#29 0x9312802c in SendEventToEventTargetInternal ()
#30 0x9312edb0 in SendEventToEventTarget ()
#31 0x0021ff78 in qt_mac_send_event () at lcolorcache.C:40
#32 0x0034d76c in QEventLoop::processEvents () at QAskForTextDialog.C:87
#33 0x0032a8d4 in QEventLoop::enterLoop () at lengthcombo.C:70
#34 0x0032a7c0 in QEventLoop::exec () at lengthcombo.C:70
#35 0x00162970 in lyx_gui::start ([EMAIL PROTECTED],
[EMAIL PROTECTED]) at lyx_gui.C:253
#36 0x00059770 in LyX::priv_exec (this=0xb906e60, [EMAIL PROTECTED],
argv=0xbffff830) at lyx_main.C:282
#37 0x00058ba4 in LyX::exec ([EMAIL PROTECTED], argv=0xbffff830) at
lyx_main.C:143
#38 0x000024d0 in main (argc=1, argv=0xbffff830) at main.C:47