--- dia-0.88.1.orig/app/properties.c Mon Apr 30 17:55:37 2001 +++ dia-0.88.1/app/properties.c Thu Dec 13 15:18:53 2001 @@ -150,20 +150,35 @@ properties_apply(GtkWidget *canvas, gpointer data) { ObjectChange *obj_change = NULL; + Object *obj; + GList *list; if ( (current_obj == NULL) || (current_dia == NULL) ) return 0; - - object_add_updates(current_obj, current_dia); - obj_change = current_obj->ops->apply_properties(current_obj, object_part); + object_add_updates(current_obj, current_dia); - diagram_update_connections_object(current_dia, current_obj, TRUE); + /* TODO: only operate on objects of the same type as current_obj */ + list = current_dia->data->selected; + while (list != NULL) { + obj = (Object *) list->data; + + if ( obj == NULL ) + return 0; + + obj_change = obj->ops->apply_properties(obj, object_part); + + diagram_update_connections_object(current_dia, obj, TRUE); - if (obj_change != NULL) { - undo_object_change(current_dia, current_obj, obj_change); + if (obj_change != NULL) { + undo_object_change(current_dia, obj, obj_change); + } + + list = g_list_next(list); } - + + object_add_updates_list(current_dia->data->selected, current_dia); + diagram_modified(current_dia); diagram_update_extents(current_dia);