Comment #13 on issue 1199 by takao.fujiwara1: iBus causes Firefox 4 Beta freeze
http://code.google.com/p/ibus/issues/detail?id=1199

OK, I see.
I could reproduce your problem.
I had used the text format with gmail but it needs rich text format with gmail.

I got the SEGV.

#0  0x00007f7ed6b150af in g_utf8_offset_to_pointer (str=0x7f7edc7022d0 "",
    offset=4292507292) at gutf8.c:330
#1  0x00007f7edabcb12d in nsGtkIMModule::OnRetrieveSurroundingNative (
    this=<value optimized out>, aContext=0x7f7ebec938e0)
    at nsGtkIMModule.cpp:878
#2 0x00007f7ed5a37ad4 in _gtk_marshal_BOOLEAN__VOID (closure=0x7f7ebeb6e1f0,
    return_value=0x7fff33e822e0, n_param_values=1, param_values=
    0x7f7eb1696140, invocation_hint=0x7fff33e822a0, marshal_data=0x0)
    at gtkmarshalers.c:917
#3 0x00007f7ed6fcb03e in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#4  0x00007f7ed6fdbe87 in ?? () from /lib64/libgobject-2.0.so.0
#5  0x00007f7ed6fe5555 in g_signal_emit_valist ()
   from /lib64/libgobject-2.0.so.0
#6  0x00007f7ed6fe5b6d in g_signal_emit_by_name ()
   from /lib64/libgobject-2.0.so.0
#7 0x00007f7ed5a14293 in gtk_im_multicontext_retrieve_surrounding_cb (slave=
    0x7f7eb22aacc0, multicontext=0x7f7ebec938e0) at gtkimmulticontext.c:492
#8 0x00007f7ed5a37ad4 in _gtk_marshal_BOOLEAN__VOID (closure=0x7f7eb22eef10,
    return_value=0x7fff33e82850, n_param_values=1, param_values=
    0x7f7eb166b680, invocation_hint=0x7fff33e82810, marshal_data=0x0)
    at gtkmarshalers.c:917
#9 0x00007f7ed6fcb03e in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#10 0x00007f7ed6fdbe87 in ?? () from /lib64/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#11 0x00007f7ed6fe5555 in g_signal_emit_valist ()
   from /lib64/libgobject-2.0.so.0
#12 0x00007f7ed6fe5983 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#13 0x00007f7ec14f857a in _request_surrounding_text (context=0x7f7eb22aacc0)
    at ibusimcontext.c:222
#14 0x00007f7ec14f902d in ibus_im_context_filter_keypress (context=
    0x7f7eb22aacc0, event=0x7f7ead482dd0) at ibusimcontext.c:516
#15 0x00007f7ed5a0fcc5 in IA__gtk_im_context_filter_keypress (context=
    0x7f7eb22aacc0, key=0x7f7ead482dd0) at gtkimcontext.c:473
#16 0x00007f7ed5a13e03 in gtk_im_multicontext_filter_keypress (context=
    0x7f7ebec938e0, event=0x7f7ead482dd0) at gtkimmulticontext.c:331
#17 0x00007f7ed5a0fcc5 in IA__gtk_im_context_filter_keypress (context=
    0x7f7ebec938e0, key=0x7f7ead482dd0) at gtkimcontext.c:473
#18 0x00007f7edabcaab4 in nsGtkIMModule::OnKeyEvent (this=0x7f7ebecff080,
    aCaller=0x7f7ebecb1db0, aEvent=0x7f7ead482dd0, aKeyDownEventWasSent=0)
    at nsGtkIMModule.cpp:401:

The xulrunner2's nsGtkIMModule.cpp:nsGtkIMModule assigns the wrong offset == 4292507292.
It's a bug for xulrunner2
http://hg.mozilla.org/mozilla-central/file/42e7f9088975/widget/src/gtk2/nsGtkIMModule.cpp#l877
PRUint32 cursorPos doesn't assign the right value.

Could you file a bug for https://bugzilla.mozilla.org/ ?

I'll add a workaround for ibus zh to port a ibus4 feature.

--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en

回复