[Pidgin] #8984: Pidgin freezes when sorting roomlist on QuakeNet IRC server

Pidgin trac at pidgin.im
Wed Jan 12 14:10:44 EST 2011


#8984: Pidgin freezes when sorting roomlist on QuakeNet IRC server
--------------------+-------------------------------------------------------
 Reporter:  albert  |        Owner:  rekkanoryo
     Type:  defect  |       Status:  new       
Milestone:          |    Component:  IRC       
  Version:  2.5.5   |   Resolution:            
 Keywords:          |  
--------------------+-------------------------------------------------------

Comment(by doublep):

 I can confirm this on irc.freenode.net.  You need a server with many rooms
 and a slow internet connection.  I suspect the problem is caused by
 inserting a row in the list and _then_ modifying it, in effect causing
 full model resort on each row.

 From gtk_list_store_insert_with_values () documentation:

   Calling gtk_list_store_insert_with_values(list_store, iter, position...)
 has the same effect as calling

       gtk_list_store_insert (list_store, iter, position);
       gtk_list_store_set (list_store, iter, ...);

   with the difference that the former will only emit a row_inserted
 signal, while the latter will emit row_inserted, row_changed and, if the
 list store is sorted, rows_reordered. Since emitting the rows_reordered
 signal repeatedly can affect the performance of the program,
 gtk_list_store_insert_with_values() should generally be preferred when
 inserting rows in a sorted list store.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/8984#comment:8>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list