]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/listbox.cpp
More Motif additions: mdi and sashtest samples now just about work!
[wxWidgets.git] / src / motif / listbox.cpp
index 7425164595c3f0b37a3977c14f209cffc20a6ebf..8bf509bbbe997d9e4c2c0d12dcadf8185352ef75 100644 (file)
@@ -40,7 +40,6 @@ wxListBox::wxListBox(): m_clientDataList(wxKEY_INTEGER)
 {
     m_noItems = 0;
     m_selected = 0;
 {
     m_noItems = 0;
     m_selected = 0;
-    m_inSetValue = FALSE;
 }
 
 bool wxListBox::Create(wxWindow *parent, wxWindowID id,
 }
 
 bool wxListBox::Create(wxWindow *parent, wxWindowID id,
@@ -51,7 +50,6 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id,
                        const wxValidator& validator,
                        const wxString& name)
 {
                        const wxValidator& validator,
                        const wxString& name)
 {
-    m_inSetValue = FALSE;
     m_windowStyle = style;
     m_noItems = n;
     m_selected = 0;
     m_windowStyle = style;
     m_noItems = n;
     m_selected = 0;
@@ -86,6 +84,8 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id,
 
     m_mainWidget = (WXWidget) listWidget;
 
 
     m_mainWidget = (WXWidget) listWidget;
 
+    Set(n, choices);
+
     XtManageChild (listWidget);
 
     long width = size.x;
     XtManageChild (listWidget);
 
     long width = size.x;
@@ -434,6 +434,8 @@ void wxListBox::SetClientData(int N, char *Client_data)
     wxNode *node = m_clientDataList.Find ((long) N);
     if (node)
         node->SetData ((wxObject *)Client_data);
     wxNode *node = m_clientDataList.Find ((long) N);
     if (node)
         node->SetData ((wxObject *)Client_data);
+    else
+        node = m_clientDataList.Append((long) N, (wxObject*) Client_data);
 }
 
 // Return number of selections and an array of selected integers
 }
 
 // Return number of selections and an array of selected integers
@@ -681,7 +683,7 @@ void wxListBoxCallback (Widget w, XtPointer clientData,
 
     wxListBox *item = (wxListBox *) clientData;
 
 
     wxListBox *item = (wxListBox *) clientData;
 
-    if (item->m_inSetValue)
+    if (item->InSetValue())
         return;
 
     wxCommandEvent event (wxEVT_COMMAND_LISTBOX_SELECTED);
         return;
 
     wxCommandEvent event (wxEVT_COMMAND_LISTBOX_SELECTED);