Skip to content

Commit b79fda1

Browse files
committed
codenav/goto_file: Fix entry_key_event not getting called first
Move the respective g_signal_connect before gtk_entry_set_completion(), which is where the GtkEntryCompletion's handler gets installed.
1 parent dc62bfe commit b79fda1

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

codenav/src/goto_file.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,12 @@ create_dialog(GtkWidget **dialog)
352352

353353
/* Completion definition */
354354
completion = gtk_entry_completion_new();
355+
356+
/* Installed here, so it'll get installed before the respective
357+
* handler inside GtkEntryCompletion, and will thus be called first. */
358+
g_signal_connect(entry, "key-press-event",
359+
G_CALLBACK(entry_key_event), completion);
360+
355361
gtk_entry_set_completion(GTK_ENTRY(entry), completion);
356362

357363
/* Completion options */
@@ -364,8 +370,6 @@ create_dialog(GtkWidget **dialog)
364370
G_CALLBACK(directory_check), completion);
365371
g_signal_connect(completion, "insert-prefix",
366372
G_CALLBACK(entry_inline_completion_event), entry);
367-
g_signal_connect(entry, "key-press-event",
368-
G_CALLBACK(entry_key_event), completion);
369373

370374
/* The completion object is tracked in the entry. We may release our local
371375
* reference, and it will be deallocated when the entry is destroyed. */

0 commit comments

Comments
 (0)