From: Bilal Elmoussaoui Date: Tue, 8 Feb 2022 09:51:38 +0000 (+0100) Subject: entry completion: add checks that entry is set already X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~4^2~2^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=883e8328e0ef45768126d3b52dc14b2a95f8ce4d;p=gtk4.git entry completion: add checks that entry is set already If any of the APIs that assumes that the entry is set already is used before having one already set, things break pretty badly. Fixes a downstream issue reported at https://github.com/gtk-rs/gtk4-rs/issues/873 --- diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 408047adf0..ef4985af72 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -1211,6 +1211,8 @@ gtk_entry_completion_match_selected (GtkEntryCompletion *completion, GtkTreeModel *model, GtkTreeIter *iter) { + g_assert (completion->entry != NULL); + char *str = NULL; gtk_tree_model_get (model, iter, completion->text_column, &str, -1); @@ -1229,6 +1231,8 @@ gtk_entry_completion_cursor_on_match (GtkEntryCompletion *completion, GtkTreeModel *model, GtkTreeIter *iter) { + g_assert (completion->entry != NULL); + gtk_entry_completion_insert_completion (completion, model, iter); return TRUE; @@ -1317,6 +1321,8 @@ static gboolean gtk_entry_completion_real_insert_prefix (GtkEntryCompletion *completion, const char *prefix) { + g_assert (completion->entry != NULL); + if (prefix) { int key_len; @@ -1417,6 +1423,8 @@ gtk_entry_completion_insert_completion (GtkEntryCompletion *completion, void gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion) { + g_return_if_fail (completion->entry != NULL); + gboolean done; char *prefix; GtkText *text = gtk_entry_get_text_widget (GTK_ENTRY (completion->entry));