File desktopfolder-1.1.1-vala-0.44.patch of Package desktopfolder

diff -ruN desktopfolder-1.1.1.orig/src/Application.vala desktopfolder-1.1.1/src/Application.vala
--- desktopfolder-1.1.1.orig/src/Application.vala	2019-02-16 04:43:53.000000000 +0300
+++ desktopfolder-1.1.1/src/Application.vala	2019-05-13 02:01:24.945077929 +0300
@@ -437,7 +437,7 @@
                 fm.close ();
                 this.folders.remove (fm);
             }
-            this.folders = updated_folder_list.copy ();
+            this.folders = (owned) updated_folder_list;
 
             // finally we close any other not existent note
             while (this.notes.length () > 0) {
@@ -445,7 +445,7 @@
                 nm.close ();
                 this.notes.remove (nm);
             }
-            this.notes = updated_note_list.copy ();
+            this.notes = (owned) updated_note_list;
 
             // finally we close any other not existent photo
             while (this.photos.length () > 0) {
@@ -453,7 +453,7 @@
                 pm.close ();
                 this.photos.remove (pm);
             }
-            this.photos = updated_photo_list.copy ();
+            this.photos = (owned) updated_photo_list;
 
             // by default, we create at least one folder if set by settings
             if (totalFolders == 0 && totalPhotos == 0 && totalNotes == 0 && this.desktop == null) {
diff -ruN desktopfolder-1.1.1.orig/src/settings/PositionSettings.vala desktopfolder-1.1.1/src/settings/PositionSettings.vala
--- desktopfolder-1.1.1.orig/src/settings/PositionSettings.vala	2019-02-16 04:43:53.000000000 +0300
+++ desktopfolder-1.1.1/src/settings/PositionSettings.vala	2019-05-13 02:01:23.125068904 +0300
@@ -53,7 +53,7 @@
                 // temporal WEIRD hack to avoid the problem of set an SLIST to the json @value deserializer
                 flag_deserialized = false;
             } else {
-                this._resolutions = value.copy ();
+                this._resolutions = value.copy_deep ((CopyFunc) Object.ref);
             }
             flagChanged = false;
         }
@@ -385,6 +385,15 @@
         unowned GLib.ParamSpec ? spec = ocl.find_property (name);
         return spec;
     }
+    public GLib.Value Json.Serializable.get_property (GLib.ParamSpec pspec) {
+        GLib.Value result = GLib.Value (pspec.value_type);
+        base.get_property (pspec.name, ref result);
+        return result;
+    }
+
+    public void Json.Serializable.set_property (GLib.ParamSpec pspec, GLib.Value value) {
+        base.set_property (pspec.name, value);
+    }
 
     public Json.Node serialize_property (string property_name, Value @value, ParamSpec pspec) {
         // debug("SERIALIZE -- property_name:%s",property_name);
diff -ruN desktopfolder-1.1.1.orig/src/utils/dragndrop/DndBehaviour.vala desktopfolder-1.1.1/src/utils/dragndrop/DndBehaviour.vala
--- desktopfolder-1.1.1.orig/src/utils/dragndrop/DndBehaviour.vala	2019-02-16 04:43:53.000000000 +0300
+++ desktopfolder-1.1.1/src/utils/dragndrop/DndBehaviour.vala	2019-05-13 02:01:20.741057082 +0300
@@ -162,7 +162,7 @@
             return selected_files;
         }
 
-        protected unowned GLib.List <File> get_selected_files_for_transfer (GLib.List <unowned File> selection = get_selected_files ()) {
+        protected unowned GLib.List <File> get_selected_files_for_transfer (GLib.List <File> selection = get_selected_files ()) {
             // debug("DndBehaviour-get_selected_files_for_transfer");
             unowned GLib.List <File> list = null;
             list.prepend (this.view.get_file ());
diff -ruN desktopfolder-1.1.1.orig/src/utils/dragndrop/DragNDrop.vala desktopfolder-1.1.1/src/utils/dragndrop/DragNDrop.vala
--- desktopfolder-1.1.1.orig/src/utils/dragndrop/DragNDrop.vala	2019-02-16 04:43:53.000000000 +0300
+++ desktopfolder-1.1.1/src/utils/dragndrop/DragNDrop.vala	2019-05-13 02:01:18.973048315 +0300
@@ -180,11 +180,11 @@
                             // it is asked only once, and we cannot unset in the future..
                             // So, we allow copy/move/link and after, it is discarded if it was really the same folder.
                             // TODO, need to be further investigated.
-                            GLib.g_object_unref (parent_file);
+                            parent_file.unref ();
                             suggested_action = Gdk.DragAction.COPY; // Gdk.DragAction.ASK;
                             actions          = Gdk.DragAction.COPY | Gdk.DragAction.MOVE | Gdk.DragAction.LINK; // Gdk.DragAction.ASK|Gdk.DragAction.LINK;
                         } else
-                            GLib.g_object_unref (parent_file);
+                            parent_file.unref ();
                     }
 
                     /* Make these tests at the end so that any changes are not reversed subsequently */