=== modified file 'app/create_object.c' --- app/create_object.c 2008-04-19 14:12:06 +0000 +++ app/create_object.c 2008-12-19 19:39:02 +0000 @@ -61,6 +61,7 @@ obj = dia_object_default_create (tool->objtype, &clickedpoint, tool->user_data, &handle1, &handle2); + g_return_if_fail(obj); diagram_add_object(ddisp->diagram, obj); @@ -125,9 +126,7 @@ GList *parent_candidates; - g_return_if_fail (obj != NULL); - if (!obj) /* not sure if this isn't enough */ - return; /* could be a legal invariant */ + g_return_if_fail(obj); if (tool->moving) { gdk_pointer_ungrab (event->time); === modified file 'lib/object_defaults.c' --- lib/object_defaults.c 2008-05-25 12:59:25 +0000 +++ lib/object_defaults.c 2008-12-19 19:39:02 +0000 @@ -268,26 +268,22 @@ g_return_val_if_fail (type != NULL, NULL); - /* don't use dia_object_default_get() as it would insert the object into the hashtable (store defaults without being asked for it) */ + /* don't use dia_object_default_get() as it would insert the object + into the hashtable (store defaults without being asked for it) */ def_obj = g_hash_table_lookup (defaults_hash, type->name); - if (def_obj && def_obj->ops->describe_props) - { - /* copy properties to new object, but keep position */ - obj = type->ops->create (startpoint, user_data, handle1, handle2); - if (obj) - { - GPtrArray *props = prop_list_from_descs ( - object_get_prop_descriptions(def_obj), pdtpp_standard_or_defaults); - def_obj->ops->get_props(def_obj, props); - obj->ops->set_props(obj, props); - obj->ops->move (obj, startpoint); - prop_list_free(props); - } - } - else - { - obj = type->ops->create (startpoint, user_data, handle1, handle2); - } + + obj = type->ops->create (startpoint, user_data, handle1, handle2); + g_return_val_if_fail(obj, NULL); + + if (def_obj && def_obj->ops->describe_props) { + /* copy properties to new object, but keep position */ + GPtrArray *props = prop_list_from_descs(object_get_prop_descriptions(def_obj), + pdtpp_standard_or_defaults); + def_obj->ops->get_props(def_obj, props); + obj->ops->set_props(obj, props); + obj->ops->move (obj, startpoint); + prop_list_free(props); + } return obj; }