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 <smcv@debian.org> Tue, 07 Mar 2023 00:07:09 +0000
+ -- Simon McVittie <smcv@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