After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 457384 - critical warning from entrycompletion
critical warning from entrycompletion
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkComboBox
unspecified
Other Linux
: Normal critical
: ---
Assigned To: gtk-bugs
gtk-bugs
: 456852 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-07-16 15:29 UTC by Christian Persch
Modified: 2007-08-28 20:48 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christian Persch 2007-07-16 15:29:58 UTC
Steps to repro:
0) Start gtk+/tests/testentrycompletion
1) Use the Properties button on the 1st entry to set "inline selection" to TRUE
2) Type "t" in the 1st entry.
The completion will pop up and insert "tot" in the 1st entry.
3) Press ESC

Results:
Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed

  • #0 g_log
    at gmessages.c line 516
  • #1 g_return_if_fail_warning
    at gmessages.c line 532
  • #2 gtk_entry_set_text
    at gtkentry.c line 4378
  • #3 gtk_entry_completion_key_press
    at gtkentry.c line 5909
  • #4 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #5 g_closure_invoke
    at gclosure.c line 490
  • #6 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #7 g_signal_emit_valist
    at gsignal.c line 2209
  • #8 g_signal_emit
    at gsignal.c line 2243
  • #9 gtk_widget_event_internal
    at gtkwidget.c line 4279
  • #10 gtk_entry_completion_popup_key_event
    at gtkentrycompletion.c line 840
  • #11 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #12 g_closure_invoke
    at gclosure.c line 490
  • #13 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #14 g_signal_emit_valist
    at gsignal.c line 2209
  • #15 g_signal_emit
    at gsignal.c line 2243
  • #16 gtk_widget_event_internal
    at gtkwidget.c line 4279
  • #17 gtk_propagate_event
    at gtkmain.c line 2290
  • #18 gtk_main_do_event
    at gtkmain.c line 1536

This is with gtk+ svn trunk.
Comment 1 Matthias Clasen 2007-07-16 16:45:04 UTC
2007-07-16  Matthias Clasen <mclasen@redhat.com>

        Fix some issues with some combinations of inline-selection
        and inline-completion.  (#457384, Christian Persch)

        * gtk/gtkentry.c (gtk_entry_completion_key_press): Don't store
        the completion_prefix here, and be careful when using
        completion_prefix, because it may be NULL.
        * gtk/gtkentrycompletion.c (gtk_entry_completion_finalize):
        Free completion_prefix here.
        * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix):
        (gtk_entry_completion_insert_completion_text): Store the
        completion_prefix here.
Comment 2 Reinout van Schouwen 2007-07-19 14:51:51 UTC
*** Bug 456852 has been marked as a duplicate of this bug. ***
Comment 3 Xan Lopez 2007-08-28 20:48:06 UTC
BTW, I just noticed this totally breaks anyone not using the default handler for cursor-on-match (for example, epiphany), as the completion-prefix is now stored there. Any reason not to move it back to gtk_entry_completion_key_press and just be more careful when using it?