glib's G_DEFINE_TYPE. Typo in headers?



Good time.

I've tried to use G_DEFINE_TYPE macros, but failed. Seems that I found
problem, but before I'll post bug, I'd like to be sure that I'm right.

G_DEFINE_TYPE, appart of get_type function, defines _class_init and
other functions (gobject/gtype.h):

#define G_DEFINE_TYPE(TN, t_n, T_P) \
        G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, {})


#define G_DEFINE_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, flags,
CODE) \
\
static void type_name##_init       (TypeName        *self); \
static void type_name##_class_init (TypeName##Class *klass); ...

But class_init function of type GClassInitFunc has the following
prototype(gobject/gtype.h):

typedef void   (*GClassInitFunc)   (gpointer   g_class,
                                    gpointer   class_data);

Thus compiler fail to compile code with G_DEFINE_TYPE.

Is this a bug I should report about, or this is my misunderstanding of
general concepts?

BTW. I'm using glib-2.6.5.

In any way, thank you for your time,
Peter. 

Attachment: signature.asc
Description: This is a digitally signed message part



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