[dia] layers: Save connectable attribute



commit 93ebeff6d5724fdc87fa77f6535ba9a0da46e65e
Author: Zander Brown <zbrown gnome org>
Date:   Sun Sep 15 10:49:10 2019 +0100

    layers: Save connectable attribute
    
    Fix https://gitlab.gnome.org/GNOME/dia/issues/415
    
    (Thanks Lorenzo Pilati!)

 app/load_save.c | 38 ++++++++++++++++++++++++--------------
 1 file changed, 24 insertions(+), 14 deletions(-)
---
diff --git a/app/load_save.c b/app/load_save.c
index 773dbeb4..38a5630c 100644
--- a/app/load_save.c
+++ b/app/load_save.c
@@ -972,21 +972,31 @@ diagram_data_write_doc(DiagramData *data, const char *filename, DiaContext *ctx)
   obj_nr = 0;
 
   for (i = 0; i < data->layers->len; i++) {
-    layer_node = xmlNewChild(doc->xmlRootNode, name_space, (const xmlChar *)"layer", NULL);
-    layer = (Layer *) g_ptr_array_index(data->layers, i);
-    xmlSetProp(layer_node, (const xmlChar *)"name", (xmlChar *)layer->name);
-
-    xmlSetProp(layer_node, (const xmlChar *)"visible",
-              (const xmlChar *)(layer->visible ? "true" : "false"));
-    xmlSetProp(layer_node, (const xmlChar *)"connectable",
-              (const xmlChar *)(layer->visible ? "true" : "false"));
-
-    if (layer == data->active_layer)
-      xmlSetProp(layer_node, (const xmlChar *)"active", (const xmlChar *)"true");
-
-    write_objects(layer->objects, layer_node,
-                 objects_hash, &obj_nr, filename, ctx);
+    layer_node = xmlNewChild (doc->xmlRootNode,
+                              name_space,
+                              (const xmlChar *) "layer", NULL);
+    layer = (Layer *) g_ptr_array_index (data->layers, i);
+    xmlSetProp (layer_node, (const xmlChar *) "name", (xmlChar *) layer->name);
+
+    xmlSetProp (layer_node,
+                (const xmlChar *) "visible",
+                (const xmlChar *) (layer->visible ? "true" : "false"));
+    xmlSetProp (layer_node,
+                (const xmlChar *) "connectable",
+                (const xmlChar *) (layer->connectable ? "true" : "false"));
+
+    if (layer == data->active_layer) {
+      xmlSetProp (layer_node,
+                  (const xmlChar *) "active",
+                  (const xmlChar *) "true");
+    }
 
+    write_objects (layer->objects,
+                   layer_node,
+                   objects_hash,
+                   &obj_nr,
+                   filename,
+                   ctx);
   }
   /* The connections are stored per layer in the file format, but connections are not any longer
    * restricted to objects on the same layer. So we iterate over all the layer (nodes) again to


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]