X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b1294ada8e87725409f290328da02306e5c8f4eb..952a3bd46dc50f95c462606fac8214573022f612:/src/gtk/choice.cpp diff --git a/src/gtk/choice.cpp b/src/gtk/choice.cpp index fbe064f3e0..2e160d2287 100644 --- a/src/gtk/choice.cpp +++ b/src/gtk/choice.cpp @@ -110,8 +110,8 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id, m_strings = new wxSortedArrayString; } - // begin with no selection - m_selection_hack = wxNOT_FOUND; + // If we have items, GTK will choose the first item by default + m_selection_hack = n > 0 ? 0 : wxNOT_FOUND; GtkWidget *menu = gtk_menu_new(); @@ -163,6 +163,12 @@ int wxChoice::DoInsertItems(const wxArrayStringsAdapter & items, m_selection_hack += count; } + // We must set the selection so that it can be read back even if + // the user has not modified it since GTK+ will then select the + // first item so well return 0. + if ((count > 0) && (m_selection_hack==wxNOT_FOUND)) + m_selection_hack = 0; + return pos - 1; }