diff options
author | Tor Lillqvist <tml@novell.com> | 2007-04-26 06:23:36 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2007-04-26 06:23:36 +0000 |
commit | a63d6b564b7a8a3611b90fc7faf28096b80cdad9 (patch) | |
tree | 096f4c81cfabfcfeaf9113d96f3095006f586fd9 /gtk/gtkinputdialog.c | |
parent | 931647f00de37713a7a64c1645c0b3b08dcedc99 (diff) | |
download | gtk+-a63d6b564b7a8a3611b90fc7faf28096b80cdad9.tar.gz |
Remove old child of scrolled window before adding a new one when switching
2007-04-26 Tor Lillqvist <tml@novell.com>
* gtk/gtkinputdialog.c (gtk_input_dialog_fill_axes)
(gtk_input_dialog_fill_keys): Remove old child of scrolled window
before adding a new one when switching what input device is being
handled. (#399425)
svn path=/trunk/; revision=17656
Diffstat (limited to 'gtk/gtkinputdialog.c')
-rw-r--r-- | gtk/gtkinputdialog.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk/gtkinputdialog.c b/gtk/gtkinputdialog.c index c78a454a1d..48f9c6090c 100644 --- a/gtk/gtkinputdialog.c +++ b/gtk/gtkinputdialog.c @@ -532,6 +532,7 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDevice *info) GtkWidget *option_menu; GtkWidget *label; GtkWidget *viewport; + GtkWidget *old_child; /* remove all the old items */ if (inputd->axis_list) @@ -544,6 +545,9 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDevice *info) gtk_table_set_col_spacings (GTK_TABLE (inputd->axis_list), 12); viewport = gtk_viewport_new (NULL, NULL); + old_child = gtk_bin_get_child (GTK_BIN (inputd->axis_listbox)); + if (old_child != NULL) + gtk_widget_destroy (old_child); gtk_container_add (GTK_CONTAINER (inputd->axis_listbox), viewport); gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE); gtk_widget_show (viewport); @@ -680,6 +684,7 @@ gtk_input_dialog_fill_keys(GtkInputDialog *inputd, GdkDevice *info) GtkWidget *button; GtkWidget *hbox; GtkWidget *viewport; + GtkWidget *old_child; char buffer[32]; @@ -695,6 +700,9 @@ gtk_input_dialog_fill_keys(GtkInputDialog *inputd, GdkDevice *info) gtk_table_set_col_spacings (GTK_TABLE (inputd->keys_list), 12); viewport = gtk_viewport_new (NULL, NULL); + old_child = gtk_bin_get_child (GTK_BIN (inputd->keys_listbox)); + if (old_child != NULL) + gtk_widget_destroy (old_child); gtk_container_add (GTK_CONTAINER (inputd->keys_listbox), viewport); gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE); gtk_widget_show (viewport); |