From: Rob Norris Date: Tue, 7 Jul 2015 23:37:14 +0000 (+0100) Subject: Ensure layer visibility is retained when copying layers. X-Git-Url: https://git.street.me.uk/andy/viking.git/commitdiff_plain/f90b755597a87d584a0d8c8f04a005b6ac8feb34 Ensure layer visibility is retained when copying layers. --- diff --git a/src/viklayer.c b/src/viklayer.c index 76d494dd..1f30ca2a 100644 --- a/src/viklayer.c +++ b/src/viklayer.c @@ -303,8 +303,11 @@ void vik_layer_marshall_params ( VikLayer *vl, guint8 **data, gint *datalen ) g_byte_array_append ( b, (guint8 *)&len, sizeof(len) ); \ g_byte_array_append ( b, (guint8 *)(obj), len ); + // Store the internal properties first + vlm_append(&vl->visible, sizeof(vl->visible)); vlm_append(vl->name, strlen(vl->name)); + // Now the actual parameters if ( params && get_param ) { VikLayerParamData d; @@ -367,13 +370,13 @@ void vik_layer_unmarshall_params ( VikLayer *vl, guint8 *data, gint datalen, Vik #define vlm_read(obj) \ memcpy((obj), b+sizeof(gint), vlm_size); \ b += sizeof(gint) + vlm_size; - + + vlm_read(&vl->visible); + s = g_malloc(vlm_size + 1); s[vlm_size]=0; vlm_read(s); - vik_layer_rename(vl, s); - g_free(s); if ( params && set_param )