Re: EntryCompletion woes (maybe?)
- From: muppet <scott asofyet org>
- To: Matthew Braid <ptkperl mdb id au>
- Cc: gtk-perl-list gnome org
- Subject: Re: EntryCompletion woes (maybe?)
- Date: Wed, 8 Nov 2006 00:50:27 -0500
On Nov 7, 2006, at 7:09 PM, Matthew Braid wrote:
Unfortunately there's been some strange behaviour since I added it
- namely if I try to delete a row _after text has been entered into
a combo box entry_ I get:
Gtk-CRITICAL **: gtk_entry_get_text: assertion `GTK_IS_ENTRY
(entry)' failed at -e line 1.
which I've tracked down to the EntryCompletions.
By setting --g-fatal-warnings and running perl in a debugger, i get
this backtrace at the first of the CRITICAL messages:
#0 0x008ab7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x008eae59 in raise () from /lib/tls/libc.so.6
#2 0x008ec882 in abort () from /lib/tls/libc.so.6
#3 0x00e5b38e in gperl_log_handler (log_domain=0xbebebb "GLib-
GObject", log_level=0, message=0x9dbfdc "<½\235", user_data=0x0) at
GLog.xs:140
#4 0x0016cc44 in IA__g_logv (log_domain=0xbebebb "GLib-GObject",
log_level=G_LOG_LEVEL_WARNING, format=0xbef780 "%s: instance `%p' has
no handler with id `%lu'",
args1=0xbfee2f8c "Aì¾") at gmessages.c:474
#5 0x0016cdcc in IA__g_log (log_domain=0xbebebb "GLib-GObject",
log_level=G_LOG_LEVEL_WARNING, format=0xbef780 "%s: instance `%p' has
no handler with id `%lu'")
at gmessages.c:517
#6 0x00bdb8cc in IA__g_signal_handler_block (instance=0x8aef510,
handler_id=281) at gsignal.c:1693
#7 0x00f46f4d in IA__gtk_entry_completion_insert_prefix
(completion=0x8b490f0) at gtkentrycompletion.c:1599
#8 0x00f440ee in check_completion_callback (completion=0x8b490f0) at
gtkentry.c:5382
#9 0x00bdf68d in source_closure_marshal_BOOLEAN__VOID (closure=0x6,
return_value=0xbfee30b0, n_param_values=0, param_values=0x0,
invocation_hint=0x0, marshal_data=0x0)
at gsourceclosure.c:81
#10 0x00bce14e in IA__g_closure_invoke (closure=0x8b8e520,
return_value=0xbfee30b0, n_param_values=0, param_values=0x0,
invocation_hint=0x0) at gclosure.c:490
#11 0x00bdf7c0 in source_closure_callback (data=0x8b8e520) at
gsourceclosure.c:123
#12 0x001687a4 in g_idle_dispatch (source=0x8b8f238, callback=0,
user_data=0x8b8e520) at gmain.c:3796
#13 0x00165b8c in g_main_dispatch (context=0x891b188) at gmain.c:1916
#14 0x00166b51 in IA__g_main_context_dispatch (context=0x891b188) at
gmain.c:2466
#15 0x00166e76 in g_main_context_iterate (context=0x891b188, block=1,
dispatch=1, self=0x88c6548) at gmain.c:2547
#16 0x00167372 in IA__g_main_loop_run (loop=0x8b8cdb0) at gmain.c:2751
#17 0x00fad8eb in IA__gtk_main () at gtkmain.c:1000
#18 0x002b3c32 in XS_Gtk2_main (my_perl=0x8855008, cv=0x8929d1c) at
xs/Gtk2.c:387
#19 0x0076326d in Perl_pp_entersub () from /usr/lib/perl5/5.8.3/i386-
linux-thread-multi/CORE/libperl.so
#20 0x00745bbd in Perl_runops_debug () from /usr/lib/perl5/5.8.3/i386-
linux-thread-multi/CORE/libperl.so
#21 0x006f4958 in perl_run () from /usr/lib/perl5/5.8.3/i386-linux-
thread-multi/CORE/libperl.so
#22 0x006f46a5 in perl_run () from /usr/lib/perl5/5.8.3/i386-linux-
thread-multi/CORE/libperl.so
#23 0x08049394 in main ()
The code from that point is all unfamiliar to me, and not immediately
obvious. gtk_entry_completion_insert_prefix() is attempting to block
the insert_text signal on the completion's entry before emitting the
insert-prefix signal, but the entry has no such signal handler
connected. The insert_text_id is captured in
connect_completion_signals() in gtkentry.c when the completion is
attached to the entry, and is disconnected in
disconnect_completion_signals()... but the value doesn't appear to be
cleared from the instance. Not sure if it's a garbage or you were
supposed to destroy the completion or what.
That's as far as i can take it at the moment... really need sleep...
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]