- if (m_strings)
- {
- for (size_t n = 0; n < nItems; n++)
- {
- index = m_strings->Add( items[n] );
-
- if (index != GetCount())
- {
- GtkAddItem( items[n], index );
- wxNode *node = m_clientList.Nth( index );
- m_clientList.Insert( node, (wxObject*) NULL );
- }
- else
- {
- GtkAddItem( items[n] );
- m_clientList.Append( (wxObject*) NULL );
- }
- }
- }
- else
- {
- if (pos == length)
- {
- for ( size_t n = 0; n < nItems; n++ )
- {
- GtkAddItem( items[n] );
-
- m_clientList.Append((wxObject *)NULL);
- }
- }
- else
- {
- wxNode *node = m_clientList.Nth( pos );
- for ( size_t n = 0; n < nItems; n++ )
- {
- GtkAddItem( items[n], pos+n );
-
- m_clientList.Insert( node, (wxObject *)NULL );
- }
- }
- }
-
- wxASSERT_MSG( m_clientList.GetCount() == (size_t)GetCount(),
- wxT("bug in client data management") );
+ g_signal_handlers_block_by_func(selection,
+ (gpointer) gtk_listitem_changed_callback, this);