--- properties.c.origin	2005-01-26 17:27:46.297451696 +0100
+++ properties.c	2005-01-26 17:27:28.862102272 +0100
@@ -125,16 +125,22 @@
                    gint       response_id,
                    gpointer   data)
 {
+  DiaObject    *obj;
   ObjectChange *obj_change = NULL;
 
   if (   response_id == GTK_RESPONSE_APPLY 
       || response_id == GTK_RESPONSE_OK) {
     if ((current_obj != NULL) && (current_dia != NULL)) {
-      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);
+	    while (current_dia->data->selected != NULL) {
+		    obj = (DiaObject *)current_dia->data->selected->data;
 
-      diagram_update_connections_object(current_dia, current_obj, TRUE);
+		    object_add_updates(obj, current_dia);
+		    obj_change = obj->ops->apply_properties(obj, object_part);
+		    object_add_updates(obj, current_dia);
+		    diagram_update_connections_object(current_dia, obj, TRUE);
+
+		    current_dia->data->selected = g_list_next(current_dia->data->selected);
+	    }
     
       if (obj_change != NULL) {
 	undo_object_change(current_dia, current_obj, obj_change);
@@ -175,7 +181,7 @@
   if (dialog == NULL)
     create_dialog();
 
-  if (obj==NULL) {
+  if (obj == NULL) {
     /* Hide dialog when no object is selected */
     gtk_widget_hide(dialog);
     return;
