[Pidgin] #6243: wrong ime initial state for incoming message conversation

Pidgin trac at pidgin.im
Fri Jul 4 04:09:55 EDT 2008


#6243: wrong ime initial state for incoming message conversation
--------------------------+-------------------------------------------------
 Reporter:  moo           |       Type:  defect
   Status:  new           |   Priority:  minor 
Component:  pidgin (gtk)  |    Version:  2.4.3 
 Keywords:                |    Pending:  0     
--------------------------+-------------------------------------------------
 i'm not sure if gtk or pidgin cause this error

  system:: windows xp
  ime:: http://tools.google.com/pinyin/, and http://www.unispim.com, with
 either ime set to default, and ime default mode to English (instead of
 Chinese)

 = steps to reproduce =
  1. open any account, double click on a buddy to open an conversation A,
 the window is raised, actived, focused, IME is active in English mode
 (expected)
  1. double click on a buddy to open an conversation B, same as above
 (expected)
  1. send a message from another account so you get it from pidgin. an
 conversation C is opened but not actived nor focused (expected)
  1. I switch to new conversation by clicking on tabbed-bar button so i can
 see it, ime is expected to be active but actually it is not (it is
 inactive)

 again, when i switch to conversaion A or B, IME is active, but to C it is
 inactive until i use ctrl+space to active it.

 this is anonying, pls fix it

 = FYI =
 i tried to trace it down but with no luck due to my limited gtk knowledge

 the first conversation (convA) is always fine because in gtkconv.c:
 {{{
     if (pidgin_conv_window_get_gtkconv_count(win) == 1) {
         /* Er, bug in notebooks? Switch to the page manually. */
         gtk_notebook_set_current_page(GTK_NOTEBOOK(win->notebook), 0);
     } else {
 }}}
 gtk_notebook_set_current_page is always called for it

 for self opened (dblclick on buddy in buddy list), convB is also fine
 because:

 gtk_notebook_set_current_page is called too with:
 pidgin_dialogs_im_with_user -> purple_conversation_present ->
 pidgin_conv_window_switch_gtkconv -> gtk_notebook_set_current_page

 i tried to comment out purple_conversation_present(conv) in function
 pidgin_dialogs_im_with_user, convB becomes the same as convC

 i have no idea why ime is affected by gtk_notebook_set_current_page.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/6243>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list