diff --git a/ChangeLog b/ChangeLog index 46b19b5a3..e98872f38 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-03-29 Matthias Clasen + + * gtk/gtkfilechooserdefault.c (queue_edited_idle): Handle + double queuing, rather than asserting that it does not + happen. (#330617) + 2006-03-28 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_set_tab_detachable): Fix diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 46b19b5a3..e98872f38 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2006-03-29 Matthias Clasen + + * gtk/gtkfilechooserdefault.c (queue_edited_idle): Handle + double queuing, rather than asserting that it does not + happen. (#330617) + 2006-03-28 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_set_tab_detachable): Fix diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 4843f28b2..b78370a64 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -1891,17 +1891,17 @@ queue_edited_idle (GtkFileChooserDefault *impl, * just now. */ - g_assert (!impl->edited_idle); - g_assert (!impl->edited_new_text); + if (!impl->edited_idle) + { + impl->edited_idle = g_idle_source_new (); + g_source_set_closure (impl->edited_idle, + g_cclosure_new_object (G_CALLBACK (edited_idle_cb), + G_OBJECT (impl))); + g_source_attach (impl->edited_idle, NULL); + } - impl->edited_idle = g_idle_source_new (); - g_source_set_closure (impl->edited_idle, - g_cclosure_new_object (G_CALLBACK (edited_idle_cb), - G_OBJECT (impl))); - g_source_attach (impl->edited_idle, NULL); - - if (new_text) - impl->edited_new_text = g_strdup (new_text); + g_free (impl->edited_new_text); + impl->edited_new_text = g_strdup (new_text); } /* Callback used from the text cell renderer when the new folder is named */