X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/05d790f834be56ea4f4a1d2896e9d56f2ef1d4f4..96ca74cdda2a8ed485facb45de263e5b7b51d7be:/src/gtk/listbox.cpp diff --git a/src/gtk/listbox.cpp b/src/gtk/listbox.cpp index a4b21a34ac..5c1bbc56b1 100644 --- a/src/gtk/listbox.cpp +++ b/src/gtk/listbox.cpp @@ -178,10 +178,19 @@ gtk_listbox_key_press_callback( GtkWidget *WXUNUSED(widget), (gdk_event->keyval == GDK_ISO_Enter) || (gdk_event->keyval == GDK_KP_Enter)) { - int index = listbox->GetSelection(); - if (index != wxNOT_FOUND) + int index = -1; + if (!listbox->HasMultipleSelection()) + index = listbox->GetSelection(); + else { + wxArrayInt sels; + if (listbox->GetSelections( sels ) < 1) + return FALSE; + index = sels[0]; + } + if (index != wxNOT_FOUND) + { wxCommandEvent event(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, listbox->GetId() ); event.SetEventObject( listbox ); @@ -542,6 +551,8 @@ int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items, AssignNewItemClientData(GtkGetIndexFor(itercur), clientData, i, type); } + UpdateOldSelections(); + return pos + numItems - 1; }