Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nemo for openSUSE:Factory checked in 
at 2021-03-06 21:18:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nemo (Old)
 and      /work/SRC/openSUSE:Factory/.nemo.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nemo"

Sat Mar  6 21:18:48 2021 rev:40 rq:877258 version:4.8.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/nemo/nemo.changes        2021-01-21 
21:57:35.341862065 +0100
+++ /work/SRC/openSUSE:Factory/.nemo.new.2378/nemo.changes      2021-03-06 
21:18:50.573249050 +0100
@@ -1,0 +2,26 @@
+Fri Mar  5 15:05:38 UTC 2021 - Aaron Stern <ukbeas...@protonmail.com>
+
+- Update to version 4.8.5.
+  * nemo-file-operations.c: re-add favorite removal during a delete operation.
+  * nemo-view.c: Hide favorites and pinning menu items when in the trash 
folder.
+  * nemo-view.c: Don't allow trash/delete to work inside the favorites view.
+  * nemo-view.c: Don't show favorite/pinning items in menubar->edit when there 
is no selection.
+  * nemo-file-operations.c: When trashing (not deleting) a folder, check 
favorites and remove any descendents of the toplevel.
+  * nemo-file-operations.c: Update favorites when moving files from their real 
location.
+  * nemo-file.c: Don't try to set metadata on a null file when adding or 
removing favorites.
+  * Fix desktop bold fonts
+  * nemo-icon-canvas-item.c: restore the style context after drawing any 
caption text.
+  * nemo-list-view.c: Fix NemoFile leaks.
+  * nemo-properties-window.c: Fix leak. nemo-directory-async.c: remove extra 
g_object_unref.
+  * nemo-file: Add a convenience macro to print file uris.
+  * nemo-view.c: Fix leak when generating extension menu items, nemo- menu.c: 
Free list of menu items during finalize, not just the list itself.
+  * nemo-places-sidebar.c: Use a safer function to check for favorite and 
recent support.
+  * nemo-file-operations.c: Fix #2075
+  * nemo-list-view.c: Only allow double-clicks with the primary and middle 
buttons
+  * Fixes #2239. The value for customizing the desktop layout for Sort items 
was not being saved.
+  * nemo-directory-async.c: Fix favorite check callback arguments, remove 
unnecessary g_free().
+  * Issue 1908: Sets correct values for x and y for 
file->details->cached_position.
+  * Issue 2666. Blocks emoji chooser from breaking Nemo
+  * Issue 591. Increases emit time of change for progress update.
+
+-------------------------------------------------------------------

Old:
----
  nemo-4.8.4.tar.gz

New:
----
  nemo-4.8.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nemo.spec ++++++
--- /var/tmp/diff_new_pack.DK8B4A/_old  2021-03-06 21:18:51.177249669 +0100
+++ /var/tmp/diff_new_pack.DK8B4A/_new  2021-03-06 21:18:51.177249669 +0100
@@ -20,7 +20,7 @@
 %define sover   1
 %define typelib typelib-1_0-Nemo-3_0
 Name:           nemo
-Version:        4.8.4
+Version:        4.8.5
 Release:        0
 Summary:        File browser for Cinnamon
 License:        GPL-2.0-or-later

++++++ nemo-4.8.4.tar.gz -> nemo-4.8.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/debian/changelog 
new/nemo-4.8.5/debian/changelog
--- old/nemo-4.8.4/debian/changelog     2021-01-03 12:32:53.000000000 +0100
+++ new/nemo-4.8.5/debian/changelog     2021-02-26 12:38:31.000000000 +0100
@@ -1,3 +1,44 @@
+nemo (4.8.5) ulyssa; urgency=medium
+
+  [ Michael Webster ]
+  * nemo-file-operations.c: re-add favorite removal during a delete operation.
+  * nemo-view.c: Hide favorites and pinning menu items when in the trash 
folder.
+  * nemo-view.c: Don't allow trash/delete to work inside the favorites view.
+  * nemo-view.c: Don't show favorite/pinning items in menubar->edit when there 
is no selection.
+  * nemo-file-operations.c: When trashing (not deleting) a folder, check 
favorites and remove any descendents of the toplevel.
+  * nemo-file-operations.c: Update favorites when moving files from their real 
location.
+  * nemo-file.c: Don't try to set metadata on a null file when adding or 
removing favorites.
+
+  [ Leigh Scott ]
+  * Fix desktop bold fonts
+
+  [ Michael Webster ]
+  * nemo-icon-canvas-item.c: restore the style context after drawing any 
caption text.
+  * nemo-list-view.c: Fix NemoFile leaks.
+  * nemo-properties-window.c: Fix leak. nemo-directory-async.c: remove extra 
g_object_unref.
+  * nemo-file: Add a convenience macro to print file uris.
+  * nemo-view.c: Fix leak when generating extension menu items, nemo- menu.c: 
Free list of menu items during finalize, not just the list itself.
+  * nemo-places-sidebar.c: Use a safer function to check for favorite and 
recent support.
+
+  [ Lars Mueller ]
+  * nemo-file-operations.c: Fix #2075
+
+  [ Michael Webster ]
+  * nemo-list-view.c: Only allow double-clicks with the primary and middle 
buttons.
+
+  [ icarter09 ]
+  * Fixes #2239. The value for customizing the desktop layout for Sort items 
was not being saved.
+
+  [ Michael Webster ]
+  * nemo-directory-async.c: Fix favorite check callback arguments, remove 
unnecessary g_free().
+
+  [ icarter09 ]
+  * Issue 1908: Sets correct values for x and y for 
file->details->cached_position.
+  * Issue 2666. Blocks emoji chooser from breaking Nemo
+  * Issue 591. Increases emit time of change for progress update.
+
+ -- Clement Lefebvre <r...@linuxmint.com>  Fri, 26 Feb 2021 11:37:53 +0000
+
 nemo (4.8.4) ulyssa; urgency=medium
 
   [ Michael Webster ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/libnemo-extension/nemo-menu.c 
new/nemo-4.8.5/libnemo-extension/nemo-menu.c
--- old/nemo-4.8.4/libnemo-extension/nemo-menu.c        2021-01-03 
12:32:53.000000000 +0100
+++ new/nemo-4.8.5/libnemo-extension/nemo-menu.c        2021-02-26 
12:38:31.000000000 +0100
@@ -100,7 +100,7 @@
        NemoMenu *menu = NEMO_MENU (object);
 
        if (menu->priv->item_list) {
-               g_list_free (menu->priv->item_list);
+        nemo_menu_item_list_free (menu->priv->item_list);
        }
 
        G_OBJECT_CLASS (nemo_menu_parent_class)->finalize (object);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/libnemo-private/nemo-directory-async.c 
new/nemo-4.8.5/libnemo-private/nemo-directory-async.c
--- old/nemo-4.8.4/libnemo-private/nemo-directory-async.c       2021-01-03 
12:32:53.000000000 +0100
+++ new/nemo-4.8.5/libnemo-private/nemo-directory-async.c       2021-02-26 
12:38:31.000000000 +0100
@@ -3436,9 +3436,7 @@
 }
 
 static gboolean
-favorite_check_callback (GObject *source_object,
-                         GAsyncResult *res,
-                         gpointer user_data)
+favorite_check_callback (gpointer user_data)
 {
     NemoDirectory *directory;
     NemoFile *favorite_check_file;
@@ -3447,8 +3445,9 @@
     state = user_data;
 
     if (state->directory == NULL) {
-        /* Operation was cancelled. Bail out */
-        g_free (state);
+        /* This should never run, favorite_check_cancel removes the idle timer 
and frees
+         * the state. */
+        g_warn_if_reached ();
         return G_SOURCE_REMOVE;
     }
 
@@ -3809,7 +3808,6 @@
             file->details->thumbnail_throttle_count = 1;
                } else {
                        g_free (file->details->thumbnail_path);
-            g_object_unref (pixbuf);
                        file->details->thumbnail_path = NULL;
                }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/libnemo-private/nemo-file-operations.c 
new/nemo-4.8.5/libnemo-private/nemo-file-operations.c
--- old/nemo-4.8.4/libnemo-private/nemo-file-operations.c       2021-01-03 
12:32:53.000000000 +0100
+++ new/nemo-4.8.5/libnemo-private/nemo-file-operations.c       2021-02-26 
12:38:31.000000000 +0100
@@ -1876,7 +1876,9 @@
                        g_error_free (error);
                } else {
             gchar *uri = g_file_get_uri (dir);
-            xapp_favorites_remove (xapp_favorites_get_default (), uri);
+            if (!eel_uri_is_favorite (uri)) {
+                xapp_favorites_remove (xapp_favorites_get_default (), uri);
+            }
             g_free (uri);
 
                        nemo_file_changes_queue_file_removed (dir);
@@ -1909,6 +1911,16 @@
 
        error = NULL;
        if (file_delete_wrapper (file, job->cancellable, &error)) {
+        gchar *uri = g_file_get_uri (file);
+        // We need to remove from favorites explicitly only if we're deleting 
the file
+        // in its native location, otherwise FavoriteVfsFile->file_delete will 
have
+        // already removed it. This is the same with delete_dir and trash_file
+        if (!eel_uri_is_favorite (uri)) {
+            xapp_favorites_remove (xapp_favorites_get_default (), uri);
+        }
+
+        g_free (uri);
+
                nemo_file_changes_queue_file_removed (file);
 
                transfer_info->num_files ++;
@@ -2099,12 +2111,42 @@
                        g_error_free (error);
                        total_files--;
                } else {
-                       nemo_file_changes_queue_file_removed (file);
-
             gchar *uri = g_file_get_uri (file);
-            xapp_favorites_remove (xapp_favorites_get_default (), uri);
+            if (!eel_uri_is_favorite (uri)) {
+                XAppFavorites *favorites = xapp_favorites_get_default ();
+                xapp_favorites_remove (favorites, uri);
+
+                // move-to-trash doesn't recurse, it just trashes the 
toplevel, and
+                // the recent backend (gvfs) takes care of the rest. If we 
trash a folder
+                // that was a favorite, which also had favorites that 
descended from it,
+                // we need to explicitly remove them, or we'll have dangling 
entries in the
+                // favorites list.
+
+                GList *to_remove, *infos, *iter;
+
+                infos = xapp_favorites_get_favorites (favorites, NULL);
+                to_remove = NULL;
+
+                for (iter = infos; iter != NULL; iter = iter->next) {
+                    XAppFavoriteInfo *info = (XAppFavoriteInfo *) iter->data;
+
+                    if (info->uri && g_str_has_prefix (info->uri, uri)) {
+                        to_remove = g_list_prepend (to_remove, g_strdup 
(info->uri));
+                    }
+                }
+
+                g_list_free_full (infos, (GDestroyNotify) 
xapp_favorite_info_free);
+
+                for (iter = to_remove; iter != NULL; iter = iter->next) {
+                    xapp_favorites_remove (favorites, (const gchar *) 
iter->data);
+                }
+
+                g_list_free_full (to_remove, g_free);
+            }
             g_free (uri);
 
+            nemo_file_changes_queue_file_removed (file);
+
                        if (job->undo_info != NULL) {
                                nemo_file_undo_info_trash_add_file 
(NEMO_FILE_UNDO_INFO_TRASH (job->undo_info), file);
                        }
@@ -3132,7 +3174,7 @@
                free_size = g_file_info_get_attribute_uint64 (fsinfo,
                                                              
G_FILE_ATTRIBUTE_FILESYSTEM_FREE);
 
-               if (free_size < abs(required_size)) {
+               if (free_size < required_size) {
                        size_difference = required_size - free_size;
                        primary = f (_("Error while copying to \"%B\"."), dest);
                        secondary = f (_("There is not enough space on the 
destination. Try to remove files to make space."));
@@ -4508,6 +4550,15 @@
         }
 
                if (copy_job->is_move) {
+            gchar *src_uri = g_file_get_uri (src);
+            gchar *dest_uri = g_file_get_uri (dest);
+
+            if (!eel_uri_is_favorite (src_uri)) {
+                xapp_favorites_rename (xapp_favorites_get_default (), src_uri, 
dest_uri);
+            }
+
+            g_free (src_uri);
+            g_free (dest_uri);
                        nemo_file_changes_queue_file_moved (src, dest);
                } else {
                        nemo_file_changes_queue_file_added (dest);
@@ -5161,6 +5212,16 @@
                        g_hash_table_replace (debuting_files, g_object_ref 
(dest), GINT_TO_POINTER (TRUE));
                }
 
+        gchar *src_uri = g_file_get_uri (src);
+        gchar *dest_uri = g_file_get_uri (dest);
+
+        if (!eel_uri_is_favorite (src_uri)) {
+            xapp_favorites_rename (xapp_favorites_get_default (), src_uri, 
dest_uri);
+        }
+
+        g_free (src_uri);
+        g_free (dest_uri);
+
                nemo_file_changes_queue_file_moved (src, dest);
 
         if (target_is_desktop && position) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/libnemo-private/nemo-file.c 
new/nemo-4.8.5/libnemo-private/nemo-file.c
--- old/nemo-4.8.4/libnemo-private/nemo-file.c  2021-01-03 12:32:53.000000000 
+0100
+++ new/nemo-4.8.5/libnemo-private/nemo-file.c  2021-02-26 12:38:31.000000000 
+0100
@@ -798,6 +798,10 @@
 
        file = NEMO_FILE (object);
 
+#ifdef NEMO_FILE_DEBUG_REF
+    NEMO_FILE_URI ("finalize: ", file);
+#endif
+
        g_assert (file->details->operations_in_progress == NULL);
 
        if (file->details->is_thumbnailing) {
@@ -4680,7 +4684,9 @@
         real_file = nemo_file_ref (file);
     }
 
-    nemo_file_set_boolean_metadata (real_file, NEMO_METADATA_KEY_FAVORITE, 
FALSE, favorite);
+    if (real_file != NULL) {
+        nemo_file_set_boolean_metadata (real_file, NEMO_METADATA_KEY_FAVORITE, 
FALSE, favorite);
+    }
 
     if (favorite)
     {
@@ -8060,8 +8066,8 @@
             point->y = -1;
         }
 
-        file->details->cached_position_x = x;
-        file->details->cached_position_y = y;
+        file->details->cached_position_x = point->x;
+        file->details->cached_position_y = point->y;
     } else {
         point->x = file->details->cached_position_x;
         point->y = file->details->cached_position_y;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/libnemo-private/nemo-file.h 
new/nemo-4.8.5/libnemo-private/nemo-file.h
--- old/nemo-4.8.4/libnemo-private/nemo-file.h  2021-01-03 12:32:53.000000000 
+0100
+++ new/nemo-4.8.5/libnemo-private/nemo-file.h  2021-02-26 12:38:31.000000000 
+0100
@@ -627,4 +627,11 @@
        void                 (* poll_for_media)          (NemoFile              
     *file);
 } NemoFileClass;
 
+#define NEMO_FILE_URI(msg,f)                                    \
+    {                                                           \
+        gchar *uri = nemo_file_get_uri (NEMO_FILE (f));         \
+        g_message ("%s: %p - %s", msg, f, uri);                 \
+        g_free (uri);                                           \
+    }                                                           \
+
 #endif /* NEMO_FILE_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/libnemo-private/nemo-icon-canvas-item.c 
new/nemo-4.8.5/libnemo-private/nemo-icon-canvas-item.c
--- old/nemo-4.8.4/libnemo-private/nemo-icon-canvas-item.c      2021-01-03 
12:32:53.000000000 +0100
+++ new/nemo-4.8.5/libnemo-private/nemo-icon-canvas-item.c      2021-02-26 
12:38:31.000000000 +0100
@@ -1143,6 +1143,7 @@
                gtk_render_layout (context, cr,
                                   x, text_rect.y0 + 
details->editable_text_height + LABEL_LINE_SPACING + TEXT_TOP_GAP,
                                   additional_layout);
+        gtk_style_context_restore (context);
        }
 
        if (item->details->is_highlighted_as_keyboard_focus) {
@@ -1483,9 +1484,6 @@
     if (item->details->is_pinned) {
         pango_font_description_set_weight (desc, PINNED_TEXT_WEIGHT);
     }
-    else {
-        pango_font_description_set_weight (desc, NORMAL_TEXT_WEIGHT);
-    }
 
        pango_layout_set_font_description (layout, desc);
        pango_font_description_free (desc);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/libnemo-private/nemo-progress-info.c 
new/nemo-4.8.5/libnemo-private/nemo-progress-info.c
--- old/nemo-4.8.4/libnemo-private/nemo-progress-info.c 2021-01-03 
12:32:53.000000000 +0100
+++ new/nemo-4.8.5/libnemo-private/nemo-progress-info.c 2021-02-26 
12:38:31.000000000 +0100
@@ -636,7 +636,7 @@
        G_LOCK (progress_info);
        
        if (info->activity_mode || /* emit on switch from activity mode */
-           fabs (current_percent - info->progress) > 0.005 /* Emit on change 
of 0.5 percent */
+           fabs (current_percent - info->progress) > 0
            ) {
                info->activity_mode = FALSE;
                info->progress = current_percent;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/meson.build new/nemo-4.8.5/meson.build
--- old/nemo-4.8.4/meson.build  2021-01-03 12:32:53.000000000 +0100
+++ new/nemo-4.8.5/meson.build  2021-02-26 12:38:31.000000000 +0100
@@ -1,7 +1,7 @@
 # Meson build file
 
 # https://github.com/linuxmint/nemo
-project('nemo', 'c', version: '4.8.4',
+project('nemo', 'c', version: '4.8.5',
   meson_version: '>=0.41.0'
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/src/nemo-desktop-overlay.c 
new/nemo-4.8.5/src/nemo-desktop-overlay.c
--- old/nemo-4.8.4/src/nemo-desktop-overlay.c   2021-01-03 12:32:53.000000000 
+0100
+++ new/nemo-4.8.5/src/nemo-desktop-overlay.c   2021-02-26 12:38:31.000000000 
+0100
@@ -194,7 +194,7 @@
         gtk_combo_box_set_active_id (GTK_COMBO_BOX (priv->direction_combo), 
combo_id);
 
         /* Sort type */
-        action = gtk_action_group_get_action (priv->action_group, "Vertical 
Layout");
+        action = gtk_action_group_get_action (priv->action_group, "Desktop 
Sort by Name");
         active_id = gtk_radio_action_get_current_value (GTK_RADIO_ACTION 
(action));
 
         switch (active_id) {
@@ -620,4 +620,4 @@
 {
     g_return_if_fail (NEMO_IS_DESKTOP_OVERLAY (overlay));
     show_overlay (overlay, overlay->priv->monitor);
-}
\ No newline at end of file
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/src/nemo-list-view.c 
new/nemo-4.8.5/src/nemo-list-view.c
--- old/nemo-4.8.4/src/nemo-list-view.c 2021-01-03 12:32:53.000000000 +0100
+++ new/nemo-4.8.5/src/nemo-list-view.c 2021-02-26 12:38:31.000000000 +0100
@@ -732,6 +732,8 @@
 
                     ret = TRUE;
                 }
+
+                nemo_file_unref (file);
             }
         }
         gtk_tree_path_free (path);
@@ -982,13 +984,17 @@
         return FALSE;
     }
 
+    if (event->button == GDK_BUTTON_SECONDARY) {
+        return FALSE;
+    }
+
     if (clicked_within_double_click_interval (view) &&
         view->details->double_click_path[1] &&
         gtk_tree_path_compare (view->details->double_click_path[0], 
view->details->double_click_path[1]) == 0 &&
         !on_expander) {
         /* NOTE: Activation can actually destroy the view if we're switching */
         if (!button_event_modifies_selection (event)) {
-            if ((event->button == 1 || event->button == 3)) {
+            if (event->button == 1) {
                 activate_selected_items (view);
             } else if (event->button == 2) {
                 activate_selected_items_alternate (view, NULL, TRUE);
@@ -2257,6 +2263,8 @@
                     nemo_file_invalidate_attributes (file, 
NEMO_FILE_DEFERRED_ATTRIBUTES);
                 }
             }
+
+            nemo_file_unref (file);
         }
 
         cy -= stepdown;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/src/nemo-places-sidebar.c 
new/nemo-4.8.5/src/nemo-places-sidebar.c
--- old/nemo-4.8.4/src/nemo-places-sidebar.c    2021-01-03 12:32:53.000000000 
+0100
+++ new/nemo-4.8.5/src/nemo-places-sidebar.c    2021-02-26 12:38:31.000000000 
+0100
@@ -666,29 +666,21 @@
     return res;
 }
 
-static void
-recent_and_favorites_supported (gboolean *recent,
-                                gboolean *favorites)
+static gboolean
+vfs_supports_uri_scheme (const gchar *scheme)
 {
-    gboolean recent_setting;
-    recent_setting = FALSE;
-    *recent = *favorites = FALSE;
+   const gchar * const *supported;
+   gint i;
 
-    recent_setting = g_settings_get_boolean (cinnamon_privacy_preferences,
-                                             NEMO_PREFERENCES_RECENT_ENABLED);
+   supported = g_vfs_get_supported_uri_schemes (g_vfs_get_default ());
 
-    const char * const *supported;
-    int i;
+   for (i = 0; supported[i] != NULL; i++) {
+      if (g_strcmp0 (scheme, supported[i]) == 0) {
+          return TRUE;
+      }
+   }
 
-    supported = g_vfs_get_supported_uri_schemes (g_vfs_get_default ());
-    for (i = 0; supported[i] != NULL; i++) {
-        if (strcmp ("recent", supported[i]) == 0 && recent_setting) {
-            *recent = TRUE;
-        }
-        if (strcmp ("favorites", supported[i]) == 0) {
-            *favorites = TRUE;
-        }
-    }
+   return FALSE;
 }
 
 static gchar *
@@ -831,10 +823,7 @@
         g_free (tooltip);
     }
 
-    gboolean show_recent, show_favorites;
-    recent_and_favorites_supported (&show_recent, &show_favorites);
-
-    if (show_favorites) {
+    if (vfs_supports_uri_scheme ("favorites")) {
         gint n = xapp_favorites_get_n_favorites (xapp_favorites_get_default 
());
 
         if (n > 0) {
@@ -848,7 +837,11 @@
         }
     }
 
-    if (show_recent) {
+    gboolean recent_enabled;
+    recent_enabled = g_settings_get_boolean (cinnamon_privacy_preferences,
+                                             NEMO_PREFERENCES_RECENT_ENABLED);
+
+    if (recent_enabled && vfs_supports_uri_scheme ("recent")) {
         mount_uri = (char *)"recent:///"; /* No need to strdup */
         icon = NEMO_ICON_SYMBOLIC_FOLDER_RECENT;
         cat_iter = add_place (sidebar, PLACES_BUILT_IN,
@@ -878,7 +871,7 @@
                            cat_iter);
     g_free (tooltip);
 
-    if (!show_recent)
+    if (!recent_enabled)
         sidebar->bottom_bookend_uri = g_strdup (mount_uri);
 
     mount_uri = (char *)"trash:///"; /* No need to strdup */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/src/nemo-properties-window.c 
new/nemo-4.8.5/src/nemo-properties-window.c
--- old/nemo-4.8.4/src/nemo-properties-window.c 2021-01-03 12:32:53.000000000 
+0100
+++ new/nemo-4.8.5/src/nemo-properties-window.c 2021-02-26 12:38:31.000000000 
+0100
@@ -4783,6 +4783,7 @@
        }
 
        vbox = nemo_mime_application_chooser_new (uri, uris, mime_type, NULL);
+    g_free (uri);
 
        gtk_widget_show (vbox);
        g_free (mime_type);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/src/nemo-view.c 
new/nemo-4.8.5/src/nemo-view.c
--- old/nemo-4.8.4/src/nemo-view.c      2021-01-03 12:32:53.000000000 +0100
+++ new/nemo-4.8.5/src/nemo-view.c      2021-02-26 12:38:31.000000000 +0100
@@ -1449,7 +1449,7 @@
        action = gtk_action_group_get_action (view->details->dir_action_group,
                                              NEMO_ACTION_TRASH);
        if ((gtk_action_get_sensitive (action) && gtk_action_get_visible 
(action)) ||
-        (showing_favorites_directory (view) || showing_recent_directory 
(view))) {
+        showing_recent_directory (view)) {
                trash_or_delete_selected_files (view);
                return TRUE;
        }
@@ -5852,6 +5852,8 @@
                        g_free (subdir);
                }
         }
+
+        g_clear_object (&menu);
        }
 }
 
@@ -9731,6 +9733,7 @@
     gboolean selection_contains_recent;
     gboolean selection_contains_favorites;
     gboolean selection_contains_directory;
+    gboolean selection_contains_trash;
        gboolean can_create_files;
        gboolean can_delete_files;
        gboolean can_copy_files;
@@ -9762,6 +9765,7 @@
     selection_contains_recent = showing_recent_directory (view);
     selection_contains_favorites = showing_favorites_directory (view);
     selection_contains_directory = directory_in_selection (view, selection);
+    selection_contains_trash = all_selected_items_in_trash (view, selection);
        can_create_files = nemo_view_supports_creating_files (view);
        can_delete_files =
                can_delete_all (selection) &&
@@ -9923,7 +9927,7 @@
        reset_extension_actions_menu (view, selection);
     reset_move_copy_to_menu (view);
 
-       if (all_selected_items_in_trash (view, selection)) {
+       if (selection_contains_trash) {
                label = _("_Delete Permanently");
                tip = _("Delete all selected items permanently");
                show_separate_delete_command = FALSE;
@@ -10150,12 +10154,14 @@
     action = gtk_action_group_get_action (view->details->dir_action_group,
                                           NEMO_ACTION_PIN_FILE);
 
-    gtk_action_set_visible (action, !is_desktop_view && 
!first_selected_is_pinned && !(selection_contains_recent || 
selection_contains_favorites));
+    gtk_action_set_visible (action, selection_count > 0 && !is_desktop_view && 
!first_selected_is_pinned &&
+                                    !(selection_contains_recent || 
selection_contains_favorites || selection_contains_trash));
 
     action = gtk_action_group_get_action (view->details->dir_action_group,
                                           NEMO_ACTION_UNPIN_FILE);
 
-    gtk_action_set_visible (action, !is_desktop_view && 
first_selected_is_pinned && !(selection_contains_recent || 
selection_contains_favorites));
+    gtk_action_set_visible (action, selection_count > 0 && !is_desktop_view && 
first_selected_is_pinned &&
+                                    !(selection_contains_recent || 
selection_contains_favorites || selection_contains_trash));
 
     action = gtk_action_group_get_action (view->details->dir_action_group,
                                           NEMO_ACTION_FAVORITE_FILE);
@@ -10163,19 +10169,21 @@
     gboolean first_selected_is_favorite = selection_count > 0 &&
                                           nemo_file_get_is_favorite (NEMO_FILE 
(selection->data));
 
-    if (selection_contains_favorites) {
+    if (selection_contains_favorites || selection_count == 0) {
         gtk_action_set_visible (action, FALSE);
     } else {
-        gtk_action_set_visible (action, !is_desktop_view && 
!first_selected_is_favorite && !selection_contains_recent);
+        gtk_action_set_visible (action, !is_desktop_view && 
!first_selected_is_favorite &&
+                                        !selection_contains_recent && 
!selection_contains_trash);
     }
 
     action = gtk_action_group_get_action (view->details->dir_action_group,
                                           NEMO_ACTION_UNFAVORITE_FILE);
 
-    if (selection_contains_favorites) {
+    if (selection_contains_favorites && selection_count > 0) {
         gtk_action_set_visible (action, TRUE);
     } else {
-        gtk_action_set_visible (action, !is_desktop_view && 
first_selected_is_favorite && !selection_contains_recent);
+        gtk_action_set_visible (action, !is_desktop_view && 
first_selected_is_favorite &&
+                                        !selection_contains_recent && 
!selection_contains_trash);
     }
 
     update_configurable_context_menu_items (view);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nemo-4.8.4/src/nemo-window.c 
new/nemo-4.8.5/src/nemo-window.c
--- old/nemo-4.8.4/src/nemo-window.c    2021-01-03 12:32:53.000000000 +0100
+++ new/nemo-4.8.5/src/nemo-window.c    2021-02-26 12:38:31.000000000 +0100
@@ -1166,6 +1166,13 @@
        active_slot = nemo_window_get_active_slot (window);
        view = active_slot->content_view;
 
+      /**
+       * Disable the GTK Emoji Chooser
+       */
+      if ((event->keyval == GDK_KEY_semicolon || event->keyval == 
GDK_KEY_period) && (event->state & GDK_CONTROL_MASK)) {
+          return FALSE;
+      }
+
        if (view != NULL && nemo_view_get_is_renaming (view)) {
                /* if we're renaming, just forward the event to the
                 * focused widget and return. We don't want to process the 
window

Reply via email to