gtk_listitem_select_cb( widget, listbox, FALSE );
}
-static void gtk_listitem_select_cb( GtkWidget *widget, wxListBox *listbox, bool is_selection )
+static void gtk_listitem_select_cb( GtkWidget *widget,
+ wxListBox *listbox,
+ bool is_selection )
{
if (g_isIdle) wxapp_install_idle_handler();
wxCommandEvent event(wxEVT_COMMAND_LISTBOX_SELECTED, listbox->GetId() );
event.SetEventObject( listbox );
-// MSW doesn't do that either
-// event.SetExtraLong( (long) is_selection );
-
+ // indicate whether this is a selection or a deselection
+ event.SetExtraLong( is_selection );
if ((listbox->GetWindowStyleFlag() & wxLB_SINGLE) != 0)
{
}
if ( m_strings )
- m_strings->Remove(n);
+ m_strings->RemoveAt(n);
}
// ----------------------------------------------------------------------------
bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
{
+ if (m_widget->window == window) return TRUE;
+
if (GTK_WIDGET(m_list)->window == window) return TRUE;
GList *child = m_list->children;
}
}
- UpdateWindowUI();
+ if (wxUpdateUIEvent::CanUpdate(this))
+ UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
}
wxSize wxListBox::DoGetBestSize() const