Re: Events and derived objects



Eduardo M KALINOWSKI wrote:
[...]

What is happening is that the user signal handler is being run only
after the default handler, even if g_signal_connect (not after) is used,
but it should happen before.


Hi,
  what you're saying stikes me as odd; this is the declaration
of key-press-event copied from gtkwidget.c:

===============================================================
  widget_signals[KEY_PRESS_EVENT] =
    g_signal_new (I_("key_press_event"),
                  G_TYPE_FROM_CLASS (gobject_class),
                  G_SIGNAL_RUN_LAST,
                  G_STRUCT_OFFSET (GtkWidgetClass, key_press_event),
                  _gtk_boolean_handled_accumulator, NULL,
                  _gtk_marshal_BOOLEAN__BOXED,
                  G_TYPE_BOOLEAN, 1,
                  GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);

===============================================================

Note that the flag passed is G_SIGNAL_RUN_LAST; so it should
run *after* all the user handlers.

Are you sure that the text view's handler gets called at all ?
in other words; are you sure you're returninig FALSE from
your "Internal key handler" ?


Cheers,
                          -Tristan




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]