marshaling in gtktreeitem widget



I really don't know what I'm talking about, so take this with
a grain of salt:

In gtktreeitem.h, we've got:

struct _GtkTreeItemClass
{
  GtkItemClass parent_class;

  void (* expand)   (GtkTreeItem *tree_item);
  void (* collapse) (GtkTreeItem *tree_item);
};

In gtktreeitem.c, we've got:

  tree_item_signals[EXPAND_TREE] =
    gtk_signal_new ("expand",
                    GTK_RUN_FIRST,
                    object_class->type,
                    GTK_SIGNAL_OFFSET (GtkTreeItemClass, expand),
                    gtk_tree_item_marshal_signal,
                    GTK_TYPE_NONE, 0);

And in gtk_tree_item_marshal_signal() we've got:

  (* rfunc) (object, GTK_VALUE_OBJECT (args[0]), func_data);

Isn't something amiss here?  Should gtk_signal_new() just be
passed gtk_signal_default_marshaller?  Or is there something
missing in the definition in gtktreeitem.h?

My understanding is that those "void (* expand) ..." definitions
in the .h file define the function signature for the signal
handler (minus a gpointer data tacked on the end).  What I'm
getting though with the expand signal is my data in the *third*
argument, and some unknown stuff in the second.

Can someone tell me what's going on?

Thanks,
Marc



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