]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/choice.cpp
don't do anything before including the PCH header
[wxWidgets.git] / src / gtk / choice.cpp
index fbe064f3e0d249d37b02cef7c4eb4391d9014d45..2e160d2287c4d920700328a69d45a70ef2f79ba1 100644 (file)
@@ -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;
 }