focus-out-event on entry box asserts.
- From: Michel Selten <michel success demon nl>
- To: gtk-list gtk org
- Subject: focus-out-event on entry box asserts.
- Date: 05 Apr 2002 22:04:11 +0200
Hi,
I'm playing around with GTK-2.0.0 and have the following problem:
I'm trying to check the result of the contents of an gtk_entry control
when focus is lost. I've implemented the following signal handler:
g_signal_connect (G_OBJECT (edit_box),
"focus-out-event",
G_CALLBACK (LeaveEditBox),
NULL);
And the callback, which for now shows a messagebox, that is called when
the signal is emitted:
void LeaveEditBox (GtkWidget *widget, gpointer data)
{
GtkWidget * msg_box;
msg_box = gtk_message_dialog_new (GTK_WINDOW (root_window),
GTK_DIALOG_MODAL,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"Lost focus signal.");
gtk_dialog_run (GTK_DIALOG (msg_box));
gtk_widget_destroy (msg_box);
}
Now, when I switch from my entry field to another control, my messagebox
shows: perfect. But, when I press the OK button, my app asserts:
batch (pid:30678): Gtk-ERROR **: file gtkentry.c: line 4179 (blink_cb):
assertion failed: (GTK_WIDGET_HAS_FOCUS (entry))
aborting...
Aborted
A bt in gdb gives the following:
#0 0x40408971 in kill () from /lib/libc.so.6
#1 0x40408775 in raise () from /lib/libc.so.6
#2 0x40409da3 in abort () from /lib/libc.so.6
#3 0x4039be46 in g_logv (log_domain=0x401ef553 "Gtk",
log_level=G_LOG_LEVEL_ERROR,
format=0x401efb20 "file %s: line %d (%s): assertion failed: (%s)",
args1=0xbffff77c)
at gmessages.c:555
#4 0x4039bef6 in g_log (log_domain=0x401ef553 "Gtk",
log_level=G_LOG_LEVEL_ERROR,
format=0x401efb20 "file %s: line %d (%s): assertion failed: (%s)")
at gmessages.c:574
#5 0x400b30f5 in blink_cb (data=0x8088a00) at gtkentry.c:4179
#6 0x40397020 in g_timeout_dispatch (source=0x8072898,
callback=0x400b3080 <blink_cb>,
user_data=0x8088a00) at gmain.c:2980
#7 0x40394991 in g_main_dispatch (context=0x805ab00) at gmain.c:1617
#8 0x403958a1 in g_main_context_dispatch (context=0x805ab00) at
gmain.c:2161
#9 0x40395c59 in g_main_context_iterate (context=0x805ab00, block=1,
dispatch=1, self=0x80d8fd8)
at gmain.c:2242
#10 0x40396350 in g_main_loop_run (loop=0x80e8ce0) at gmain.c:2462
#11 0x400e3883 in gtk_main () at gtkmain.c:915
#12 0x0804968f in main ()
#13 0x403f65b0 in __libc_start_main () from /lib/libc.so.6
Ok, so then I tried to do the same trick except I connected my signal to
a button instead of the entry. Everything went perfect.
Have I done something wrong or should I head over to BugZilla?
Thank you in advance,
Michel
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]