diff --git a/src/gtk/combobox.cpp b/src/gtk/combobox.cpp index efbe51763d..b51c7c04ab 100644 --- a/src/gtk/combobox.cpp +++ b/src/gtk/combobox.cpp @@ -166,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(); } diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index 3d426e1668..76dae328f5 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -146,9 +146,13 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, bool multi_line = (style & wxTE_MULTILINE) != 0; if (multi_line) { +#if (GTK_MINOR_VERSION > 2) /* a multi-line edit control: create a vertical scrollbar by default and horizontal if requested */ bool bHasHScrollbar = (style & wxHSCROLL) != 0; +#else + bool bHasHScrollbar = FALSE; +#endif /* create our control ... */ m_text = gtk_text_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL ); @@ -164,6 +168,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, /* always wrap words */ gtk_text_set_word_wrap( GTK_TEXT(m_text), TRUE ); +#if (GTK_MINOR_VERSION > 2) /* put the horizontal scrollbar in the lower left hand corner */ if (bHasHScrollbar) { @@ -175,11 +180,10 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, 0, 0); gtk_widget_show(hscrollbar); -#if (GTK_MINOR_VERSION > 0) /* don't wrap lines, otherwise we wouldn't need the scrollbar */ gtk_text_set_line_wrap( GTK_TEXT(m_text), FALSE ); -#endif } +#endif /* finally, put the vertical scrollbar in the upper right corner */ m_vScrollbar = gtk_vscrollbar_new( GTK_TEXT(m_text)->vadj ); diff --git a/src/gtk/win_gtk.c b/src/gtk/win_gtk.c index dcd694df3f..529c295cd3 100644 --- a/src/gtk/win_gtk.c +++ b/src/gtk/win_gtk.c @@ -10,7 +10,6 @@ #include "wx/gtk/win_gtk.h" #include "gtk/gtksignal.h" #include "gtk/gtknotebook.h" -#include "gtk/gtktable.h" #ifdef __cplusplus extern "C" { @@ -328,9 +327,9 @@ gtk_myfixed_set_size (GtkMyFixed *myfixed, if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (myfixed)) { - if ( ((child->width > 1) && (child->height > 1) && (GTK_WIDGET_REALIZED(widget))) || - /* I don't know why GtkTable is different */ - GTK_IS_TABLE(widget)) + if ( (child->width > 1) && + (child->height > 1) && + !(GTK_WIDGET_REALIZED(widget) && GTK_IS_NOTEBOOK(widget)) ) { child_allocation.x = child->x; child_allocation.y = child->y; diff --git a/src/gtk1/combobox.cpp b/src/gtk1/combobox.cpp index efbe51763d..b51c7c04ab 100644 --- a/src/gtk1/combobox.cpp +++ b/src/gtk1/combobox.cpp @@ -166,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(); } diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 3d426e1668..76dae328f5 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -146,9 +146,13 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, bool multi_line = (style & wxTE_MULTILINE) != 0; if (multi_line) { +#if (GTK_MINOR_VERSION > 2) /* a multi-line edit control: create a vertical scrollbar by default and horizontal if requested */ bool bHasHScrollbar = (style & wxHSCROLL) != 0; +#else + bool bHasHScrollbar = FALSE; +#endif /* create our control ... */ m_text = gtk_text_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL ); @@ -164,6 +168,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, /* always wrap words */ gtk_text_set_word_wrap( GTK_TEXT(m_text), TRUE ); +#if (GTK_MINOR_VERSION > 2) /* put the horizontal scrollbar in the lower left hand corner */ if (bHasHScrollbar) { @@ -175,11 +180,10 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, 0, 0); gtk_widget_show(hscrollbar); -#if (GTK_MINOR_VERSION > 0) /* don't wrap lines, otherwise we wouldn't need the scrollbar */ gtk_text_set_line_wrap( GTK_TEXT(m_text), FALSE ); -#endif } +#endif /* finally, put the vertical scrollbar in the upper right corner */ m_vScrollbar = gtk_vscrollbar_new( GTK_TEXT(m_text)->vadj ); diff --git a/src/gtk1/win_gtk.c b/src/gtk1/win_gtk.c index dcd694df3f..529c295cd3 100644 --- a/src/gtk1/win_gtk.c +++ b/src/gtk1/win_gtk.c @@ -10,7 +10,6 @@ #include "wx/gtk/win_gtk.h" #include "gtk/gtksignal.h" #include "gtk/gtknotebook.h" -#include "gtk/gtktable.h" #ifdef __cplusplus extern "C" { @@ -328,9 +327,9 @@ gtk_myfixed_set_size (GtkMyFixed *myfixed, if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (myfixed)) { - if ( ((child->width > 1) && (child->height > 1) && (GTK_WIDGET_REALIZED(widget))) || - /* I don't know why GtkTable is different */ - GTK_IS_TABLE(widget)) + if ( (child->width > 1) && + (child->height > 1) && + !(GTK_WIDGET_REALIZED(widget) && GTK_IS_NOTEBOOK(widget)) ) { child_allocation.x = child->x; child_allocation.y = child->y;