Control: retitle -1 unblock: gtk+3.0/3.24.37-2

On Wed, 08 Mar 2023 at 13:13:08 +0100, Sebastian Ramacher wrote:
> On 2023-03-07 01:12:58 +0000, Simon McVittie wrote:
> > Resync with upstream release. What we have in bookworm at the moment
> > is GTK 3.24.36 and something like half of 3.24.37; rebasing on 3.24.37
> > seems a better basis for a stable release.
> 
> Agreed. Please go ahead.

Uploaded. There is a slight difference wrt the diff you saw: I added
two translation updates from upstream, and one bug fix for interop with
non-GTK users of the file transfer portal.

gtk+3.0_3.24.37-2-since-prerelease-no-l10n.diff is the diff since the
version you approved, filtered to exclude debian/patches/*.patch and
po/*.po (so you only see the actual code change).

gtk+3.0_3.24.37-2-since-prerelease.diff.gz is the diff since the
version you approved, filtered to exclude debian/patches/*.patch only.

gtk+3.0_3.24.37-2.diff.gz is the full diff since testing.

> > [The file transfer portal code] does have one
> > potential interop issue (using a non-standard MIME type) which I've
> > reported upstream. I hope fixing that should be a simple change
> > (< 10 lines).

I included the upstream fix for this in 3.24.37-2, putting it in the same
situation as gtk4: for maximum compatibility, both the correct MIME type
and the typo'd MIME type are accepted and treated as equivalent.
Successfully tested by dragging a file from evince (GTK 3, on host system)
to gtk4-demo (Flatpak).

> > autopkgtest reports one apparent regression for gnome-photos, but I think
> > it might be spurious (the test getting stuck). I'll try to investigate it
> > if it turns out to be reproducible.

It was not reproducible when retried (2/2 successes since the failure)
so I'm going to ignore this unless the problem recurs.

    smcv
diff --git a/debian/changelog b/debian/changelog
index d115481e26..d40e38239b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,15 @@
-gtk+3.0 (3.24.37-2) UNRELEASED; urgency=medium
+gtk+3.0 (3.24.37-2) unstable; urgency=medium
 
+  * d/p/selection-Use-the-right-mime-type.patch:
+    Add patch to fix incorrect MIME type for file transfer portal.
+    Regression in 3.24.37, affecting interoperability with other
+    implementations like the one requested in QTBUG-91357.
+  * d/patches: Update translations from upstream git: gl, he
   * d/copyright: Remove gtk-text-input.xml.
     This file is no longer present in the source package.
   * Remove Lintian overrides for lintian/lintian!452, no longer necessary
 
- -- Simon McVittie <s...@debian.org>  Tue, 07 Mar 2023 00:07:09 +0000
+ -- Simon McVittie <s...@debian.org>  Wed, 08 Mar 2023 14:52:40 +0000
 
 gtk+3.0 (3.24.37-1) experimental; urgency=medium
 
diff --git a/debian/patches/Update-Galician-translation.patch b/debian/patches/Update-Galician-translation.patch
new file mode 100644
index 0000000000..2e729bfcd5
diff --git a/debian/patches/Update-Hebrew-translation.patch b/debian/patches/Update-Hebrew-translation.patch
new file mode 100644
index 0000000000..dd90613d9b
diff --git a/debian/patches/selection-Use-the-right-mime-type.patch b/debian/patches/selection-Use-the-right-mime-type.patch
new file mode 100644
index 0000000000..1c6e8705dc
diff --git a/debian/patches/series b/debian/patches/series
index 75e2a23964..52b52c99b8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,6 @@
+selection-Use-the-right-mime-type.patch
+Update-Hebrew-translation.patch
+Update-Galician-translation.patch
 016_no_offscreen_widgets_grabbing.patch
 017_no_offscreen_device_grabbing.patch
 060_ignore-random-icons.patch
diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c
index 048b4ad496..82755e9a66 100644
--- a/gtk/gtkselection.c
+++ b/gtk/gtkselection.c
@@ -343,6 +343,7 @@ static GdkAtom text_plain_utf8_atom;
 static GdkAtom text_plain_locale_atom;
 static GdkAtom text_uri_list_atom;
 static GdkAtom portal_files_atom;
+static GdkAtom portal_filetransfer_atom;
 
 static void 
 init_atoms (void)
@@ -364,6 +365,7 @@ init_atoms (void)
 
       text_uri_list_atom = gdk_atom_intern_static_string ("text/uri-list");
       portal_files_atom = gdk_atom_intern_static_string ("application/vnd.portal.files");
+      portal_filetransfer_atom = gdk_atom_intern_static_string ("application/vnd.portal.filetransfer");
     }
 }
 
@@ -526,7 +528,10 @@ gtk_target_list_add_uri_targets (GtkTargetList *list,
 
 #ifndef G_OS_WIN32
   if (file_transfer_portal_supported ())
-    gtk_target_list_add (list, portal_files_atom, 0, info);
+    {
+      gtk_target_list_add (list, portal_filetransfer_atom, 0, info);
+      gtk_target_list_add (list, portal_files_atom, 0, info);
+    }
 #endif
 }
 
@@ -1899,7 +1904,8 @@ gtk_selection_data_set_uris (GtkSelectionData  *selection_data,
 	}
     }
 #ifndef G_OS_WIN32
-  else if (selection_data->target == portal_files_atom &&
+  else if ((selection_data->target == portal_filetransfer_atom ||
+            selection_data->target == portal_files_atom) &&
            file_transfer_portal_supported ())
     {
       GPtrArray *a;
@@ -1940,7 +1946,7 @@ gtk_selection_data_set_uris (GtkSelectionData  *selection_data,
         }
 
       gtk_selection_data_set (selection_data,
-                              portal_files_atom,
+                              selection_data->target,
                               8, (guchar *)key, strlen (key));
 
       g_strfreev (files);
@@ -1996,7 +2002,8 @@ gtk_selection_data_get_uris (const GtkSelectionData *selection_data)
     }
 #ifndef G_OS_WIN32
   else if (selection_data->length >= 0 &&
-           selection_data->type == portal_files_atom &&
+           (selection_data->type == portal_filetransfer_atom ||
+            selection_data->type == portal_files_atom) &&
            file_transfer_portal_supported ())
     {
       char *key;
@@ -2353,6 +2360,7 @@ gtk_targets_include_uri (GdkAtom *targets,
   for (i = 0; i < n_targets; i++)
     {
       if (targets[i] == text_uri_list_atom ||
+          targets[i] == portal_filetransfer_atom ||
           targets[i] == portal_files_atom)
 	{
 	  result = TRUE;

Attachment: gtk+3.0_3.24.37-2-since-prerelease.diff.gz
Description: application/gzip

Attachment: gtk+3.0_3.24.37-2.diff.gz
Description: application/gzip

Reply via email to