diff --git a/app/widgets/gimpcontainerentry.c b/app/widgets/gimpcontainerentry.c index 075ac6f992..517094fce5 100644 --- a/app/widgets/gimpcontainerentry.c +++ b/app/widgets/gimpcontainerentry.c @@ -38,10 +38,6 @@ #include "gimpviewrenderer.h" -#define gimp_container_entry_get_model(entry) \ - gtk_entry_completion_get_model (gtk_entry_get_completion (GTK_ENTRY (entry))) - - static void gimp_container_entry_view_iface_init (GimpContainerViewInterface *iface); static void gimp_container_entry_set_context (GimpContainerView *view, @@ -199,6 +195,19 @@ gimp_container_entry_new (GimpContainer *container, /* GimpContainerView methods */ +static GtkTreeModel * +gimp_container_entry_get_model (GimpContainerView *view) +{ + GtkEntryCompletion *completion; + + completion = gtk_entry_get_completion (GTK_ENTRY (view)); + + if (completion) + return gtk_entry_completion_get_model (completion); + + return NULL; +} + static void gimp_container_entry_set_context (GimpContainerView *view, GimpContext *context) @@ -290,6 +299,10 @@ gimp_container_entry_clear_items (GimpContainerView *view) { GtkTreeModel *model = gimp_container_entry_get_model (view); + /* happens in dispose() */ + if (! model) + return; + gimp_container_tree_store_clear_items (GIMP_CONTAINER_TREE_STORE (model)); parent_view_iface->clear_items (view);