From: Soeren Sandmann Date: Tue, 8 Jul 2003 20:12:05 +0000 (+0000) Subject: Only access node->data->instance when the node is instantiable. X-Git-Tag: GLIB_2_3_0~150 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6e2d715fd8bf99dcd2076c3e316bf762e34bcb17;p=platform%2Fupstream%2Fglib.git Only access node->data->instance when the node is instantiable. Tue Jul 8 22:29:31 2003 Soeren Sandmann * gtype.c (type_class_init_Wm): Only access node->data->instance when the node is instantiable. --- diff --git a/gobject/ChangeLog b/gobject/ChangeLog index a7fb859..c143adb 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,8 @@ +Tue Jul 8 22:29:31 2003 Soeren Sandmann + + * gtype.c (type_class_init_Wm): Only access node->data->instance + when the node is instantiable. + Tue Jul 8 14:55:27 2003 Owen Taylor * gtype.c (type_class_init_Wm): Initialize diff --git a/gobject/gtype.c b/gobject/gtype.c index 320897c..891053b 100644 --- a/gobject/gtype.c +++ b/gobject/gtype.c @@ -912,7 +912,7 @@ type_data_make_W (TypeNode *node, vtable_size += strlen (value_table->lcopy_format); vtable_size += 2; } - + if (node->is_instantiatable) /* carefull, is_instantiatable is also is_classed */ { data = g_malloc0 (sizeof (InstanceData) + vtable_size); @@ -1585,11 +1585,15 @@ type_class_init_Wm (TypeNode *node, TypeNode *pnode = lookup_type_node_I (pclass->g_type); memcpy (class, pclass, pnode->data->class.class_size); - /* We need to initialize the private_size here rather than in - * type_data_make_W() since the class init for the parent - * class may have changed pnode->data->instance.private_size. - */ - node->data->instance.private_size = pnode->data->instance.private_size; + + if (node->is_instantiatable) + { + /* We need to initialize the private_size here rather than in + * type_data_make_W() since the class init for the parent + * class may have changed pnode->data->instance.private_size. + */ + node->data->instance.private_size = pnode->data->instance.private_size; + } } class->g_type = NODE_TYPE (node);