]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/combobox.cpp
1. fixed Maximise() mismatch between wxFrame and wxMDIFrame
[wxWidgets.git] / src / gtk1 / combobox.cpp
index 349ee758d20dc0b617a7c2497f4a69b64c447493..b51c7c04abafca10dad4eb3f603edd040da07ee9 100644 (file)
@@ -12,6 +12,9 @@
 #endif
 
 #include "wx/combobox.h"
+
+#if wxUSE_COMBOBOX
+
 #include "wx/settings.h"
 
 #include <wx/intl.h>
@@ -41,7 +44,7 @@ gtk_combo_clicked_callback( GtkWidget *WXUNUSED(widget), wxComboBox *combo )
 {
     if (g_isIdle) wxapp_install_idle_handler();
 
-    if (!combo->HasVMT()) return;
+    if (!combo->m_hasVMT) return;
 
     if (g_blockEventsOnDrag) return;
 
@@ -70,6 +73,8 @@ gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxComboBox *combo )
 {
     if (g_isIdle) wxapp_install_idle_handler();
     
+    if (!combo->m_hasVMT) return;
+
     wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() );
     event.SetString( combo->GetValue() );
     event.SetEventObject( combo );
@@ -99,7 +104,9 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
 
     PreCreation( parent, id, pos, size, style, name );
 
+#if wxUSE_VALIDATORS
     SetValidator( validator );
+#endif
 
     m_widget = gtk_combo_new();
 
@@ -134,9 +141,7 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
         gtk_widget_show( list_item );
     }
 
-    m_parent->AddChild( this );
-
-    (m_parent->m_insertCallback)( m_parent, this );
+    m_parent->DoAddChild( this );
 
     PostCreation();
 
@@ -161,13 +166,15 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
 
 wxComboBox::~wxComboBox()
 {
-    wxNode *node = m_clientDataList.First();
+    wxNode *node = m_clientObjectList.First();
     while (node)
     {
         wxClientData *cd = (wxClientData*)node->Data();
         if (cd) delete cd;
         node = node->Next();
     }
+    m_clientObjectList.Clear();
+
     m_clientDataList.Clear();
 }
 
@@ -582,7 +589,7 @@ void wxComboBox::OnChar( wxKeyEvent &event )
 
 void wxComboBox::OnSize( wxSizeEvent &event )
 {
-    wxControl::OnSize( event );
+    event.Skip();
     
     return;
 
@@ -625,3 +632,4 @@ bool wxComboBox::IsOwnGtkWindow( GdkWindow *window )
              (window == GTK_COMBO(m_widget)->button->window ) );
 }
 
+#endif