i have GObject A and GObject B; B is a A's subclass obj_a = a_new (); obj_b = b_new (); (a_new() and b_new() return GObject) when i call IS_OBJECT_A (obj_b) it returns TRUE: why? is it a bug? or is it normal? or am i mistaking something?