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

Bug#1033830: marked as done (unblock: nemo/5.6.4-1)



Your message dated Sun, 02 Apr 2023 17:57:36 +0000
with message-id <E1pj1xQ-0024Y5-4C@respighi.debian.org>
and subject line unblock nemo
has caused the Debian Bug report #1033830,
regarding unblock: nemo/5.6.4-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1033830: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033830
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: nemo@packages.debian.org, fantonifabio@tiscali.it
Control: affects -1 + src:nemo

Please unblock package nemo

5.6.4-1 include a new bugfix release with some fixes:
- nemo-view-dnd.c: Fix the check for a web link's title, and use the url if it's missing. - nemo-mime-actions.c: Prioritize an http link to open in a browser, regardless of the mimetype of the link's target.
- Fix for List View thumbnail scaling at HiDPI
- list-view: Scale the thumbnail correctly when applying emblems, and fix the emblem sanity checks everywhere. - file info: Use generic methods for attributes that aren't guaranteed to be supported by the filesystem.

No regression found or reported, I think is good to have in bookworm.

[ Risks ]
I consider the risk of regression small

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]

unblock nemo/5.6.4-1
diff --git a/debian/changelog b/debian/changelog
index e59ea892..29baa503 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+nemo (5.6.4-1) unstable; urgency=medium
+
+  * New upstream bugfix version 5.6.4
+
+ -- Fabio Fantoni <fantonifabio@tiscali.it>  Sun, 19 Mar 2023 22:36:15 +0100
+
 nemo (5.6.3-1) unstable; urgency=medium
 
   * New upstream version 5.6.3
diff --git a/libnemo-private/nemo-directory-async.c b/libnemo-private/nemo-directory-async.c
index 3a892739..b4eb02f3 100644
--- a/libnemo-private/nemo-directory-async.c
+++ b/libnemo-private/nemo-directory-async.c
@@ -824,6 +824,7 @@ static gboolean
 should_skip_file (NemoDirectory *directory, GFileInfo *info)
 {
 	static gboolean show_hidden_files_changed_callback_installed = FALSE;
+    gboolean is_hidden;
 
 	/* Add the callback once for the life of our process */
 	if (!show_hidden_files_changed_callback_installed) {
@@ -838,13 +839,14 @@ should_skip_file (NemoDirectory *directory, GFileInfo *info)
 		show_hidden_files_changed_callback (NULL);
 	}
 
-	if (!show_hidden_files &&
-	    (g_file_info_get_is_hidden (info) ||
-	     g_file_info_get_is_backup (info))) {
-		return TRUE;
-	}
+    is_hidden = g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN) ||
+                g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP);
 
-	return FALSE;
+    if (!show_hidden_files && is_hidden) {
+        return TRUE;
+    }
+
+    return FALSE;
 }
 
 static void
@@ -915,7 +917,8 @@ dequeue_pending_idle_callback (gpointer callback_data)
 			dir_load_state->load_file_count += 1;
 
 			/* Add the MIME type to the set. */
-			mimetype = g_file_info_get_content_type (file_info);
+            mimetype = g_file_info_get_attribute_string (file_info, G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE);
+
 			if (mimetype != NULL) {
 				istr_set_insert (dir_load_state->load_mime_list_hash,
 						 mimetype);
@@ -2961,7 +2964,8 @@ mime_list_one (MimeListState *state,
 		return;
 	}
 
-	mime_type = g_file_info_get_content_type (info);
+    mime_type = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE);
+
 	if (mime_type != NULL) {
 		istr_set_insert (state->mime_list_hash, mime_type);
 	}
diff --git a/libnemo-private/nemo-file.c b/libnemo-private/nemo-file.c
index 629feedb..ba8a8555 100644
--- a/libnemo-private/nemo-file.c
+++ b/libnemo-private/nemo-file.c
@@ -2274,6 +2274,7 @@ update_info_internal (NemoFile *file,
 	const char *trash_orig_path;
 	const char *group, *owner, *owner_real;
 	gboolean free_owner, free_group;
+    const char *edit_name;
 
 	if (file->details->is_gone) {
 		return FALSE;
@@ -2304,9 +2305,11 @@ update_info_internal (NemoFile *file,
 	}
 	file->details->got_file_info = TRUE;
 
+    edit_name = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME);
+
 	changed |= nemo_file_set_display_name (file,
 						  g_file_info_get_display_name (info),
-						  g_file_info_get_edit_name (info),
+						  edit_name,
 						  FALSE);
 
 	file_type = g_file_info_get_file_type (info);
@@ -2339,13 +2342,15 @@ update_info_internal (NemoFile *file,
 		}
 	}
 
-	is_symlink = g_file_info_get_is_symlink (info);
+    is_symlink = g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK);
 	if (file->details->is_symlink != is_symlink) {
 		changed = TRUE;
 	}
 	file->details->is_symlink = is_symlink;
 
-	is_hidden = g_file_info_get_is_hidden (info) || g_file_info_get_is_backup (info);
+    is_hidden = g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN) ||
+                g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP);
+
 	if (file->details->is_hidden != is_hidden) {
 		changed = TRUE;
 	}
@@ -2541,7 +2546,8 @@ update_info_internal (NemoFile *file,
 	}
 	file->details->size = size;
 
-	sort_order = g_file_info_get_sort_order (info);
+    sort_order = g_file_info_get_attribute_int32 (info, G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER);
+
 	if (file->details->sort_order != sort_order) {
 		changed = TRUE;
 	}
@@ -2603,9 +2609,8 @@ update_info_internal (NemoFile *file,
 		file->details->thumbnailing_failed = thumbnailing_failed;
 	}
 
-	symlink_name = is_symlink ?
-		g_file_info_get_symlink_target (info) :
-		NULL;
+    symlink_name = g_file_info_get_attribute_byte_string (info, G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET);
+
 	if (g_strcmp0 (file->details->symlink_name, symlink_name) != 0) {
 		changed = TRUE;
 		g_free (file->details->symlink_name);
diff --git a/libnemo-private/nemo-search-engine-advanced.c b/libnemo-private/nemo-search-engine-advanced.c
index 5b91c187..16a3ce50 100644
--- a/libnemo-private/nemo-search-engine-advanced.c
+++ b/libnemo-private/nemo-search-engine-advanced.c
@@ -910,7 +910,7 @@ visit_directory (GFile *dir, SearchThreadData *data)
 	}
 
 	while ((info = g_file_enumerator_next_file (enumerator, data->cancellable, NULL)) != NULL) {
-		if (g_file_info_get_is_hidden (info) && !data->show_hidden) {
+		if (g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN) && !data->show_hidden) {
 			goto next;
 		}
 
@@ -946,7 +946,7 @@ visit_directory (GFile *dir, SearchThreadData *data)
 
 		child = g_file_get_child (dir, g_file_info_get_name (info));
         if (hit) {
-            mime_type = g_file_info_get_content_type (info);
+            mime_type = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE);
 
             // Our helpers don't currently support uris, so we shouldn't at all -
             // probably best, as search would transfer the contents of every file
diff --git a/meson.build b/meson.build
index b62a43ae..95c07ec8 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
 # Meson build file
 
 # https://github.com/linuxmint/nemo
-project('nemo', 'c', version: '5.6.3',
+project('nemo', 'c', version: '5.6.4',
   meson_version: '>=0.41.0'
 )
 
diff --git a/src/nemo-icon-view-container.c b/src/nemo-icon-view-container.c
index 8cf54b03..2ef91f35 100644
--- a/src/nemo-icon-view-container.c
+++ b/src/nemo-icon-view-container.c
@@ -139,8 +139,8 @@ nemo_icon_view_container_get_icon_images (NemoIconContainer *container,
         if (s < size)
             size = s;
 
-        bad_ratio = (int)nemo_icon_get_emblem_size_for_icon_size (size) * scale > w ||
-                    (int)nemo_icon_get_emblem_size_for_icon_size (size) * scale > h;
+        bad_ratio = (int)nemo_icon_get_emblem_size_for_icon_size (size) * scale > (int)(w * 0.75) ||
+                    (int)nemo_icon_get_emblem_size_for_icon_size (size) * scale > (int)(h * 0.75);
 
         if (bad_ratio)
             goto skip_emblem; /* Would prefer to not use goto, but
diff --git a/src/nemo-icon-view-grid-container.c b/src/nemo-icon-view-grid-container.c
index 1a6c3f92..ff9af5e7 100644
--- a/src/nemo-icon-view-grid-container.c
+++ b/src/nemo-icon-view-grid-container.c
@@ -116,8 +116,8 @@ nemo_icon_view_grid_container_get_icon_images (NemoIconContainer *container,
         if (s < size)
             size = s;
 
-        bad_ratio = (int)nemo_icon_get_emblem_size_for_icon_size (size) * scale > w ||
-                    (int)nemo_icon_get_emblem_size_for_icon_size (size) * scale > h;
+        bad_ratio = (int)nemo_icon_get_emblem_size_for_icon_size (size) * scale > (int)(w * 0.75) ||
+                    (int)nemo_icon_get_emblem_size_for_icon_size (size) * scale > (int)(h * 0.75);
 
         if (bad_ratio)
             goto skip_emblem; /* Would prefer to not use goto, but
diff --git a/src/nemo-list-model.c b/src/nemo-list-model.c
index 6d87413c..55354f0f 100644
--- a/src/nemo-list-model.c
+++ b/src/nemo-list-model.c
@@ -354,7 +354,7 @@ nemo_list_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, int colu
                 gint w, h, s;
                 gboolean bad_ratio;
 
-                initial_pixbuf = nemo_icon_info_get_pixbuf_at_size (icon_info, icon_size);
+                initial_pixbuf = nemo_icon_info_get_pixbuf_at_size (icon_info, icon_size * icon_scale);
 
                 w = gdk_pixbuf_get_width (initial_pixbuf);
                 h = gdk_pixbuf_get_height (initial_pixbuf);
@@ -363,8 +363,8 @@ nemo_list_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, int colu
                 if (s < icon_size)
                     icon_size = s;
 
-                bad_ratio = (int)(nemo_icon_get_emblem_size_for_icon_size (icon_size) * icon_scale) > w ||
-                            (int)(nemo_icon_get_emblem_size_for_icon_size (icon_size) * icon_scale) > h;
+                bad_ratio = (int)(nemo_icon_get_emblem_size_for_icon_size (icon_size) * icon_scale) > (int)(w * 0.75) ||
+                            (int)(nemo_icon_get_emblem_size_for_icon_size (icon_size) * icon_scale) > (int)(h * 0.75);
 
                 gicon = G_ICON (initial_pixbuf);
 
@@ -388,7 +388,7 @@ nemo_list_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, int colu
                 g_object_unref (gicon);
             }
 
-			icon = nemo_icon_info_get_pixbuf_at_size (icon_info, icon_size);
+			icon = nemo_icon_info_get_pixbuf_at_size (icon_info, icon_size * icon_scale);
 
 			nemo_icon_info_unref (icon_info);
 
diff --git a/src/nemo-mime-actions.c b/src/nemo-mime-actions.c
index 288f4e1c..0064d23f 100644
--- a/src/nemo-mime-actions.c
+++ b/src/nemo-mime-actions.c
@@ -335,7 +335,7 @@ file_has_local_path (NemoFile *file)
 GAppInfo *
 nemo_mime_get_default_application_for_file (NemoFile *file)
 {
-	GAppInfo *app;
+	GAppInfo *app = NULL;
 	char *mime_type;
 	char *uri_scheme;
 
@@ -345,18 +345,22 @@ nemo_mime_get_default_application_for_file (NemoFile *file)
         }
 	}
 
-	mime_type = nemo_file_get_mime_type (file);
-	app = g_app_info_get_default_for_type (mime_type, !file_has_local_path (file));
-	g_free (mime_type);
+    uri_scheme = nemo_file_get_uri_scheme (file);
+
+    if (!g_str_has_prefix (uri_scheme, "http")) {
+        mime_type = nemo_file_get_mime_type (file);
+        app = g_app_info_get_default_for_type (mime_type, !file_has_local_path (file));
+        g_free (mime_type);
+    }
 
 	if (app == NULL) {
-		uri_scheme = nemo_file_get_uri_scheme (file);
 		if (uri_scheme != NULL) {
 			app = g_app_info_get_default_for_uri_scheme (uri_scheme);
-			g_free (uri_scheme);
 		}
 	}
 
+    g_free (uri_scheme);
+
 	return app;
 }
 
diff --git a/src/nemo-view-dnd.c b/src/nemo-view-dnd.c
index dd6e297d..3d45c77f 100644
--- a/src/nemo-view-dnd.c
+++ b/src/nemo-view-dnd.c
@@ -211,8 +211,8 @@ nemo_view_handle_netscape_url_drop (NemoView  *view,
 	}
 
 	if (action == GDK_ACTION_LINK) {
-		if (g_strcmp0 (title, NULL) == 0) {
-			link_name = g_file_get_basename (f);
+		if (g_strcmp0 (title, NULL) == 0 || strlen (title) == 0) {
+			link_name = g_strdup (url);
 		} else {
 			link_name = g_strdup (title);
 		}

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: