fix object referencing with wxSL_MIN_MAX_LABELS

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2012-11-19 02:29:24 +00:00
parent c10361ef2e
commit 907f5902b3

View File

@@ -312,7 +312,6 @@ bool wxSlider::Create(wxWindow *parent,
m_scale = gtk_vscale_new( NULL ); m_scale = gtk_vscale_new( NULL );
else else
m_scale = gtk_hscale_new( NULL ); m_scale = gtk_hscale_new( NULL );
g_object_ref(m_scale);
if (style & wxSL_MIN_MAX_LABELS) if (style & wxSL_MIN_MAX_LABELS)
{ {
@@ -322,7 +321,6 @@ bool wxSlider::Create(wxWindow *parent,
m_widget = gtk_hbox_new(false, 0); m_widget = gtk_hbox_new(false, 0);
else else
m_widget = gtk_vbox_new(false, 0); m_widget = gtk_vbox_new(false, 0);
g_object_ref(m_widget);
gtk_container_add( GTK_CONTAINER(m_widget), m_scale ); gtk_container_add( GTK_CONTAINER(m_widget), m_scale );
GtkWidget *box; GtkWidget *box;
@@ -330,25 +328,21 @@ bool wxSlider::Create(wxWindow *parent,
box = gtk_vbox_new(false,0); box = gtk_vbox_new(false,0);
else else
box = gtk_hbox_new(false,0); box = gtk_hbox_new(false,0);
g_object_ref(box);
gtk_widget_show(box); gtk_widget_show(box);
gtk_container_add( GTK_CONTAINER(m_widget), box ); gtk_container_add( GTK_CONTAINER(m_widget), box );
m_minLabel = gtk_label_new(NULL); m_minLabel = gtk_label_new(NULL);
g_object_ref(m_minLabel);
gtk_widget_show( m_minLabel ); gtk_widget_show( m_minLabel );
gtk_container_add( GTK_CONTAINER(box), m_minLabel ); gtk_container_add( GTK_CONTAINER(box), m_minLabel );
gtk_box_set_child_packing( GTK_BOX(box), m_minLabel, FALSE, FALSE, 0, GTK_PACK_START ); gtk_box_set_child_packing( GTK_BOX(box), m_minLabel, FALSE, FALSE, 0, GTK_PACK_START );
// expanding empty space between the min/max labels // expanding empty space between the min/max labels
GtkWidget *space = gtk_label_new(NULL); GtkWidget *space = gtk_label_new(NULL);
g_object_ref(space);
gtk_widget_show( space ); gtk_widget_show( space );
gtk_container_add( GTK_CONTAINER(box), space ); gtk_container_add( GTK_CONTAINER(box), space );
gtk_box_set_child_packing( GTK_BOX(box), space, TRUE, FALSE, 0, GTK_PACK_START ); gtk_box_set_child_packing( GTK_BOX(box), space, TRUE, FALSE, 0, GTK_PACK_START );
m_maxLabel = gtk_label_new(NULL); m_maxLabel = gtk_label_new(NULL);
g_object_ref(m_maxLabel);
gtk_widget_show( m_maxLabel ); gtk_widget_show( m_maxLabel );
gtk_container_add( GTK_CONTAINER(box), m_maxLabel ); gtk_container_add( GTK_CONTAINER(box), m_maxLabel );
gtk_box_set_child_packing( GTK_BOX(box), m_maxLabel, FALSE, FALSE, 0, GTK_PACK_END ); gtk_box_set_child_packing( GTK_BOX(box), m_maxLabel, FALSE, FALSE, 0, GTK_PACK_END );
@@ -359,6 +353,7 @@ bool wxSlider::Create(wxWindow *parent,
m_maxLabel = NULL; m_maxLabel = NULL;
m_minLabel = NULL; m_minLabel = NULL;
} }
g_object_ref(m_widget);
const bool showValueLabel = (style & wxSL_VALUE_LABEL) != 0; const bool showValueLabel = (style & wxSL_VALUE_LABEL) != 0;
gtk_scale_set_draw_value(GTK_SCALE (m_scale), showValueLabel ); gtk_scale_set_draw_value(GTK_SCALE (m_scale), showValueLabel );