Update to upstream gtk-3-24 branch, commit 3.24.17-22-g99bae0fb5f

This is basically 3.24.18 rc1, as far as upstream are concerned.
It is believed to address the regressions described in #955820.

Closes: #955820
This commit is contained in:
Simon McVittie
2020-04-07 10:24:26 +01:00
parent cf4be6d7b6
commit 418e4d0424
20 changed files with 2992 additions and 57 deletions

10
debian/changelog vendored
View File

@ -1,3 +1,13 @@
gtk+3.0 (3.24.17-3) UNRELEASED; urgency=medium
* Update to upstream gtk-3-24 branch, commit 3.24.17-22-g99bae0fb5f
- Fix even more Wayland window-sizing regressions
(Closes: #955820, we hope)
* d/p/wayland-don-t-call-gdk_wayland_window_configure-without-v.patch:
Drop patch, superseded by other upstream fixes.
-- Simon McVittie <smcv@debian.org> Tue, 07 Apr 2020 10:20:29 +0100
gtk+3.0 (3.24.17-2) unstable; urgency=medium
* Team upload

View File

@ -12,10 +12,10 @@ Forwarded: yes
1 file changed, 5 insertions(+)
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index ca56f94..6f7c951 100644
index f7cbb34..de0abbb 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -2230,9 +2230,14 @@ gtk_grab_add (GtkWidget *widget)
@@ -2233,9 +2233,14 @@ gtk_grab_add (GtkWidget *widget)
{
GtkWindowGroup *group;
GtkWidget *old_grab_widget;

View File

@ -11,10 +11,10 @@ Forwarded: yes
1 file changed, 5 insertions(+)
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 6f7c951..7f60cf4 100644
index de0abbb..bf78de4 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -2323,9 +2323,14 @@ gtk_device_grab_add (GtkWidget *widget,
@@ -2326,9 +2326,14 @@ gtk_device_grab_add (GtkWidget *widget,
{
GtkWindowGroup *group;
GtkWidget *old_grab_widget;

View File

@ -20,10 +20,10 @@ Applied-upstream: no
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gtk/updateiconcache.c b/gtk/updateiconcache.c
index b48eaca..6f76b6a 100644
index 6703c8b..fd66ac8 100644
--- a/gtk/updateiconcache.c
+++ b/gtk/updateiconcache.c
@@ -676,7 +676,7 @@ scan_directory (const gchar *base_path,
@@ -684,7 +684,7 @@ scan_directory (const gchar *base_path,
directories = g_list_append (directories, g_strdup (subdir));
}
else

View File

@ -0,0 +1,723 @@
From: Ibai Oihanguren Sala <ibai@oihanguren.com>
Date: Sat, 4 Apr 2020 13:44:01 +0000
Subject: Update Basque translation
Origin: upstream, 3.24.18
---
po/eu.po | 239 +++++++++++++++++++++++++++++++++++++++------------------------
1 file changed, 148 insertions(+), 91 deletions(-)
diff --git a/po/eu.po b/po/eu.po
index ddd8c22..f92db51 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -5,12 +5,14 @@
# Hizkuntza Politikarako Sailburuordetza <hizpol@ej-gv.es>, 2004.
# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2004 - 2015, 2016, 2017, 2018.
# Asier Sarasua Garmendia <asier.sarasua@gmail.com>, 2019, 2020.
+# Ibai Oihanguren Sala <ibai@oihanguren.com>, 2020.
msgid ""
-msgstr "Project-Id-Version: gtk+ gtk-3-22\n"
+msgstr ""
+"Project-Id-Version: gtk+ gtk-3-22\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-02-14 23:32+0000\n"
-"PO-Revision-Date: 2020-02-16 10:00+0100\n"
-"Last-Translator: Asier Sarasua Garmendia <asier.sarasua@gmail.com>\n"
+"POT-Creation-Date: 2020-03-22 12:36+0000\n"
+"PO-Revision-Date: 2020-03-24 21:00+0100\n"
+"Last-Translator: Ibai Oihanguren Sala <ibai@oihanguren.com>\n"
"Language-Team: Basque <librezale@librezale.eus>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
@@ -23,48 +25,48 @@ msgstr "Project-Id-Version: gtk+ gtk-3-22\n"
msgid "Broadway display type not supported: %s"
msgstr "Broadway pantaila mota ez dago onartuta: %s"
-#: gdk/gdk.c:187
+#: gdk/gdk.c:179
#, c-format
msgid "Error parsing option --gdk-debug"
msgstr "Errorea --gdk-debug aukera analizatzean"
-#: gdk/gdk.c:207
+#: gdk/gdk.c:199
#, c-format
msgid "Error parsing option --gdk-no-debug"
msgstr "Errorea --gdk-no-debug aukera analizatzean"
#. Description of --class=CLASS in --help output
-#: gdk/gdk.c:236
+#: gdk/gdk.c:228
msgid "Program class as used by the window manager"
msgstr "Programa-klasea, leiho kudeatzaileak erabiltzen duen bezala"
#. Placeholder in --class=CLASS in --help output
-#: gdk/gdk.c:237
+#: gdk/gdk.c:229
msgid "CLASS"
msgstr "KLASEA"
#. Description of --name=NAME in --help output
-#: gdk/gdk.c:239
+#: gdk/gdk.c:231
msgid "Program name as used by the window manager"
msgstr "Programa-izena, leiho kudeatzaileak erabiltzen duen bezala"
#. Placeholder in --name=NAME in --help output
-#: gdk/gdk.c:240
+#: gdk/gdk.c:232
msgid "NAME"
msgstr "IZENA"
#. Description of --display=DISPLAY in --help output
-#: gdk/gdk.c:243
+#: gdk/gdk.c:235
msgid "X display to use"
msgstr "Erabili beharreko X bistaratzea"
#. Placeholder in --display=DISPLAY in --help output
-#: gdk/gdk.c:244
+#: gdk/gdk.c:236
msgid "DISPLAY"
msgstr "BISTARATZEA"
#. Description of --gdk-debug=FLAGS in --help output
-#: gdk/gdk.c:248
+#: gdk/gdk.c:240
msgid "GDK debugging flags to set"
msgstr "Ezarri beharreko GDK arazketa-banderak"
@@ -72,12 +74,12 @@ msgstr "Ezarri beharreko GDK arazketa-banderak"
#. Placeholder in --gdk-no-debug=FLAGS in --help output
#. Placeholder in --gtk-debug=FLAGS in --help output
#. Placeholder in --gtk-no-debug=FLAGS in --help output
-#: gdk/gdk.c:249 gdk/gdk.c:252 gtk/gtkmain.c:471 gtk/gtkmain.c:474
+#: gdk/gdk.c:241 gdk/gdk.c:244 gtk/gtkmain.c:471 gtk/gtkmain.c:474
msgid "FLAGS"
msgstr "BANDERAK"
#. Description of --gdk-no-debug=FLAGS in --help output
-#: gdk/gdk.c:251
+#: gdk/gdk.c:243
msgid "GDK debugging flags to unset"
msgstr "Ezarpenetik kendu beharreko GDK arazketa-banderak"
@@ -123,12 +125,12 @@ msgstr "Pausatu"
#: gdk/keyname-table.h:6847
msgctxt "keyboard label"
msgid "Scroll_Lock"
-msgstr "Blok. _Korr."
+msgstr "Blok. Korr."
#: gdk/keyname-table.h:6848
msgctxt "keyboard label"
msgid "Sys_Req"
-msgstr "Sist. _Esk."
+msgstr "Sist. Esk."
#: gdk/keyname-table.h:6849
msgctxt "keyboard label"
@@ -138,17 +140,17 @@ msgstr "Ihes"
#: gdk/keyname-table.h:6850
msgctxt "keyboard label"
msgid "Multi_key"
-msgstr "Hainbat _tekla"
+msgstr "Tekla funtzioanitza"
#: gdk/keyname-table.h:6851
msgctxt "keyboard label"
msgid "Home"
-msgstr "Karpeta nagusia"
+msgstr "Etxea"
#: gdk/keyname-table.h:6852
msgctxt "keyboard label"
msgid "Left"
-msgstr "Ezkerrean"
+msgstr "Ezkerrera"
#: gdk/keyname-table.h:6853
msgctxt "keyboard label"
@@ -158,7 +160,7 @@ msgstr "Gora"
#: gdk/keyname-table.h:6854
msgctxt "keyboard label"
msgid "Right"
-msgstr "Eskuinean"
+msgstr "Eskuinera"
#: gdk/keyname-table.h:6855
msgctxt "keyboard label"
@@ -168,12 +170,12 @@ msgstr "Behera"
#: gdk/keyname-table.h:6856 gtk/gtkshortcutlabel.c:222
msgctxt "keyboard label"
msgid "Page_Up"
-msgstr "Orri-_gora"
+msgstr "Orria gora"
#: gdk/keyname-table.h:6857 gtk/gtkshortcutlabel.c:225
msgctxt "keyboard label"
msgid "Page_Down"
-msgstr "Orri-_behera"
+msgstr "Orria behera"
#: gdk/keyname-table.h:6858
msgctxt "keyboard label"
@@ -198,88 +200,88 @@ msgstr "Txertatu"
#: gdk/keyname-table.h:6862
msgctxt "keyboard label"
msgid "Num_Lock"
-msgstr "_Blok. zenb."
+msgstr "Blok. zenb."
#. Translators: KP_ means “key pad” here
#: gdk/keyname-table.h:6864
msgctxt "keyboard label"
msgid "KP_Space"
-msgstr "TNum. _Zuriunea"
+msgstr "ZT Hutsuna"
#: gdk/keyname-table.h:6865
msgctxt "keyboard label"
msgid "KP_Tab"
-msgstr "TNum. _Tabulazioa"
+msgstr "ZT Tabulazioa"
#: gdk/keyname-table.h:6866
msgctxt "keyboard label"
msgid "KP_Enter"
-msgstr "TNum. _Sartu"
+msgstr "ZT Sartu"
#: gdk/keyname-table.h:6867
msgctxt "keyboard label"
msgid "KP_Home"
-msgstr "TNum. _Hasiera"
+msgstr "ZT Hasiera"
#: gdk/keyname-table.h:6868
msgctxt "keyboard label"
msgid "KP_Left"
-msgstr "TNum. E_zkerrera"
+msgstr "ZT Ezkerrera"
#: gdk/keyname-table.h:6869
msgctxt "keyboard label"
msgid "KP_Up"
-msgstr "TNum. _Gora"
+msgstr "ZT Gora"
#: gdk/keyname-table.h:6870
msgctxt "keyboard label"
msgid "KP_Right"
-msgstr "TNum. E_skuinera"
+msgstr "ZT Eskuinera"
#: gdk/keyname-table.h:6871
msgctxt "keyboard label"
msgid "KP_Down"
-msgstr "TNum. _Behera"
+msgstr "ZT Behera"
#: gdk/keyname-table.h:6872
msgctxt "keyboard label"
msgid "KP_Page_Up"
-msgstr "TNum. Orri-_gora"
+msgstr "ZT Orria gora"
#: gdk/keyname-table.h:6873
msgctxt "keyboard label"
msgid "KP_Prior"
-msgstr "TNum. _Aurrekoa"
+msgstr "ZT Aurrekoa"
#: gdk/keyname-table.h:6874
msgctxt "keyboard label"
msgid "KP_Page_Down"
-msgstr "TNum. Orri-_behera"
+msgstr "ZT Orria behera"
#: gdk/keyname-table.h:6875
msgctxt "keyboard label"
msgid "KP_Next"
-msgstr "TNum. H_urrengoa"
+msgstr "ZT Hurrengoa"
#: gdk/keyname-table.h:6876
msgctxt "keyboard label"
msgid "KP_End"
-msgstr "TNum. _Amaiera"
+msgstr "ZT Amaiera"
#: gdk/keyname-table.h:6877
msgctxt "keyboard label"
msgid "KP_Begin"
-msgstr "TNum. _Hasiera"
+msgstr "ZT Hasiera"
#: gdk/keyname-table.h:6878
msgctxt "keyboard label"
msgid "KP_Insert"
-msgstr "TNum. _Txertatu"
+msgstr "ZT Txertatu"
#: gdk/keyname-table.h:6879
msgctxt "keyboard label"
msgid "KP_Delete"
-msgstr "TNum. _Ezabatu"
+msgstr "ZT Ezabatu"
#: gdk/keyname-table.h:6880
msgctxt "keyboard label"
@@ -454,7 +456,7 @@ msgstr "Pantaila"
#: gdk/keyname-table.h:6914
msgctxt "keyboard label"
msgid "TouchpadToggle"
-msgstr "Ukipen-TeklatuaTxandakatu"
+msgstr "Ukipen-teklatua txandakatu"
#: gdk/keyname-table.h:6915
msgctxt "keyboard label"
@@ -583,7 +585,8 @@ msgstr "Aktibatu"
#: gtk/a11y/gtkcellaccessible.c:274
msgctxt "Action description"
msgid "Expands or contracts the row in the tree view containing this cell"
-msgstr "Errenkada zabaltzen edo uzkurtzen du gelaxka hori duen zuhaitz-ikuspegian"
+msgstr ""
+"Errenkada zabaltzen edo uzkurtzen du gelaxka hori duen zuhaitz-ikuspegian"
#: gtk/a11y/gtkcellaccessible.c:276
msgctxt "Action description"
@@ -1094,13 +1097,17 @@ msgstr "Aldatzailea txandakatzen du"
msgid ""
"Select the color you want from the outer ring. Select the darkness or "
"lightness of that color using the inner triangle."
-msgstr "Hautatu nahi duzun kolorea kanpoko biribiletik. Hautatu kolore horren iluntasuna edo argitasuna barruko triangelua erabiliz"
+msgstr ""
+"Hautatu nahi duzun kolorea kanpoko biribiletik. Hautatu kolore horren "
+"iluntasuna edo argitasuna barruko triangelua erabiliz"
#: gtk/deprecated/gtkcolorsel.c:451
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
-msgstr "Egin klik tanta-kontagailuan, eta egin klik zure pantailako edozein koloretan kolore hori hautatzeko."
+msgstr ""
+"Egin klik tanta-kontagailuan, eta egin klik zure pantailako edozein "
+"koloretan kolore hori hautatzeko."
#: gtk/deprecated/gtkcolorsel.c:461
msgid "_Hue:"
@@ -1166,7 +1173,9 @@ msgstr "Kolorearen i_zena:"
msgid ""
"You can enter an HTML-style hexadecimal color value, or simply a color name "
"such as “orange” in this entry."
-msgstr "HTML estiloko kolore-balio hamaseitarra sar dezakezu edo bestela kolore baten izena, adibidez 'laranja', sarrera honetan."
+msgstr ""
+"HTML estiloko kolore-balio hamaseitarra sar dezakezu edo bestela kolore "
+"baten izena, adibidez 'laranja', sarrera honetan."
#: gtk/deprecated/gtkcolorsel.c:548
msgid "_Palette:"
@@ -1181,19 +1190,26 @@ msgid ""
"The previously-selected color, for comparison to the color youre selecting "
"now. You can drag this color to a palette entry, or select this color as "
"current by dragging it to the other color swatch alongside."
-msgstr "Aurrez hautatutako kolorea orain hautatzen ari zaren kolorearekin konparatzeko. Kolore hori paleta-sarrerara arrasta dezakezu edo kolore hori uneko kolore gisa hauta dezakezu, koloreen ondoko lagin-multzora arrastatuz."
+msgstr ""
+"Aurrez hautatutako kolorea orain hautatzen ari zaren kolorearekin "
+"konparatzeko. Kolore hori paleta-sarrerara arrasta dezakezu edo kolore hori "
+"uneko kolore gisa hauta dezakezu, koloreen ondoko lagin-multzora arrastatuz."
#: gtk/deprecated/gtkcolorsel.c:1078
msgid ""
"The color youve chosen. You can drag this color to a palette entry to save "
"it for use in the future."
-msgstr "Hautatu duzun kolorea. Kolore hori paleta-sarrerara arrasta dezakezu eta han gorde aurrerago erabiltzeko."
+msgstr ""
+"Hautatu duzun kolorea. Kolore hori paleta-sarrerara arrasta dezakezu eta han "
+"gorde aurrerago erabiltzeko."
#: gtk/deprecated/gtkcolorsel.c:1084
msgid ""
"The previously-selected color, for comparison to the color youre selecting "
"now."
-msgstr "Aurrez hautatutako kolorea, orain hautatzen ari zaren kolorearekin konparatzeko."
+msgstr ""
+"Aurrez hautatutako kolorea, orain hautatzen ari zaren kolorearekin "
+"konparatzeko."
#: gtk/deprecated/gtkcolorsel.c:1088
msgid "The color youve chosen."
@@ -1207,11 +1223,14 @@ msgstr "_Gorde kolorea hemen"
msgid ""
"Click this palette entry to make it the current color. To change this entry, "
"drag a color swatch here or right-click it and select “Save color here.”"
-msgstr "Egin klik paleta-sarrera honetan uneko kolore bihurtzeko. Sarrera hori aldatzeko, arrastatu koloreen lagin-multzoa hona edo egin klik eskuineko botoiarekin eta hautatu \"Gorde kolorea hemen.\""
+msgstr ""
+"Egin klik paleta-sarrera honetan uneko kolore bihurtzeko. Sarrera hori "
+"aldatzeko, arrastatu koloreen lagin-multzoa hona edo egin klik eskuineko "
+"botoiarekin eta hautatu \"Gorde kolorea hemen.\""
#: gtk/deprecated/gtkcolorseldialog.c:191 gtk/deprecated/gtkfontsel.c:1689
#: gtk/gtkfilechoosernative.c:544 gtk/gtkfilechoosernative.c:636
-#: gtk/gtkfilechooserwidget.c:1494 gtk/gtkfilechooserwidget.c:6548
+#: gtk/gtkfilechooserwidget.c:1494 gtk/gtkfilechooserwidget.c:6554
#: gtk/gtkmessagedialog.c:952 gtk/gtkmessagedialog.c:965
#: gtk/gtkmountoperation.c:594 gtk/gtkpagesetupunixdialog.c:197
#: gtk/gtkprintbackend.c:779 gtk/gtkprinteroptionwidget.c:545
@@ -1447,11 +1466,14 @@ msgstr "GNUren Lizentzia Publiko Orokorra, 3 bertsioa edo berriagoa"
#: gtk/gtkaboutdialog.c:118
msgid "GNU Lesser General Public License, version 2.1 or later"
-msgstr "GNU Hedadura Txikiagoko Lizentzia Publiko Orokorra, 2.1. bertsioa edo berriagoa"
+msgstr ""
+"GNU Hedadura Txikiagoko Lizentzia Publiko Orokorra, 2.1. bertsioa edo "
+"berriagoa"
#: gtk/gtkaboutdialog.c:119
msgid "GNU Lesser General Public License, version 3 or later"
-msgstr "GNU Hedadura Txikiagoko Lizentzia Publiko Orokorra, 3. bertsioa edo berriagoa"
+msgstr ""
+"GNU Hedadura Txikiagoko Lizentzia Publiko Orokorra, 3. bertsioa edo berriagoa"
#: gtk/gtkaboutdialog.c:120
msgid "BSD 2-Clause License"
@@ -1475,7 +1497,8 @@ msgstr "GNUren Lizentzia Publiko Orokorra, 3. bertsioa soilik"
#: gtk/gtkaboutdialog.c:125
msgid "GNU Lesser General Public License, version 2.1 only"
-msgstr "GNU Hedadura Txikiagoko Lizentzia Publiko Orokorra, 2.1. bertsioa soilik"
+msgstr ""
+"GNU Hedadura Txikiagoko Lizentzia Publiko Orokorra, 2.1. bertsioa soilik"
#: gtk/gtkaboutdialog.c:126
msgid "GNU Lesser General Public License, version 3 only"
@@ -1540,7 +1563,8 @@ msgstr "Artelanak"
msgid ""
"This program comes with absolutely no warranty.\n"
"See the <a href=\"%s\">%s</a> for details."
-msgstr "Programa honek ez du inolako bermerik.\n"
+msgstr ""
+"Programa honek ez du inolako bermerik.\n"
"Xehetasun gehiagorako, ikusi <a href=“%s”>%s</a>"
#. This is the text that should appear next to menu accelerators
@@ -1754,7 +1778,8 @@ msgid ""
" --css=FILE Use style from CSS file\n"
"\n"
"Perform various tasks on GtkBuilder .ui files.\n"
-msgstr "Erabilera:\n"
+msgstr ""
+"Erabilera:\n"
" gtk-builder-tool [KOMANDOA] FITXATEGIA\n"
"\n"
"Komandoak:\n"
@@ -2241,7 +2266,7 @@ msgstr "Mahaigaina"
msgid "(None)"
msgstr "(bat ere ez)"
-#: gtk/gtkfilechooserbutton.c:2163
+#: gtk/gtkfilechooserbutton.c:2162
msgid "Other…"
msgstr "Bestelakoa…"
@@ -2285,7 +2310,10 @@ msgstr "Ezin izan da karpeta sortu"
msgid ""
"The folder could not be created, as a file with the same name already "
"exists. Try using a different name for the folder, or rename the file first."
-msgstr "Karpeta ezin izan da sortu, izen bereko beste fitxategia badago lehendik. Saiatu karpeta beste izen batekin sortzen, edo aldatu fitxategiaren izena lehenbizi."
+msgstr ""
+"Karpeta ezin izan da sortu, izen bereko beste fitxategia badago lehendik. "
+"Saiatu karpeta beste izen batekin sortzen, edo aldatu fitxategiaren izena "
+"lehenbizi."
#: gtk/gtkfilechooserwidget.c:835
msgid "You need to choose a valid filename."
@@ -2310,7 +2338,9 @@ msgstr "Soilik karpetak hauta behar dituzu"
#: gtk/gtkfilechooserwidget.c:860
msgid "The item that you selected is not a folder try using a different item."
-msgstr "Hautatu duzun elementua ez da karpeta bat. Saiatu bestelako elementu bat erabiltzen."
+msgstr ""
+"Hautatu duzun elementua ez da karpeta bat. Saiatu bestelako elementu bat "
+"erabiltzen."
#: gtk/gtkfilechooserwidget.c:868
msgid "Invalid file name"
@@ -2475,7 +2505,7 @@ msgstr "Sartu kokalekua"
msgid "Enter location or URL"
msgstr "Sartu kokalekua edo URLa"
-#: gtk/gtkfilechooserwidget.c:4432 gtk/gtkfilechooserwidget.c:7463
+#: gtk/gtkfilechooserwidget.c:4432 gtk/gtkfilechooserwidget.c:7469
#: gtk/ui/gtkfilechooserwidget.ui:247
msgid "Modified"
msgstr "Aldatze-data"
@@ -2564,48 +2594,50 @@ msgstr "Kalkulu-orria"
#. Translators: We don't know whether this printer is
#. * available to print to.
-#: gtk/gtkfilechooserwidget.c:5036 gtk/gtkfilechooserwidget.c:5219
+#: gtk/gtkfilechooserwidget.c:5036 gtk/gtkfilechooserwidget.c:5225
#: gtk/inspector/prop-editor.c:1689
#: modules/printbackends/cloudprint/gtkprintbackendcloudprint.c:748
msgid "Unknown"
msgstr "Ezezaguna"
-#: gtk/gtkfilechooserwidget.c:5258 gtk/gtkplacessidebar.c:1094
+#: gtk/gtkfilechooserwidget.c:5264 gtk/gtkplacessidebar.c:1094
msgid "Home"
msgstr "Karpeta nagusia"
-#: gtk/gtkfilechooserwidget.c:5755
+#: gtk/gtkfilechooserwidget.c:5761
msgid "Cannot change to folder because it is not local"
msgstr "Ezin aldatu karpetara, lokala ez delako."
-#: gtk/gtkfilechooserwidget.c:6541 gtk/gtkprintunixdialog.c:665
+#: gtk/gtkfilechooserwidget.c:6547 gtk/gtkprintunixdialog.c:665
#, c-format
msgid "A file named “%s” already exists. Do you want to replace it?"
msgstr "'%s' izeneko fitxategia badago lehendik. Ordeztea nahi duzu?"
-#: gtk/gtkfilechooserwidget.c:6544 gtk/gtkprintunixdialog.c:669
+#: gtk/gtkfilechooserwidget.c:6550 gtk/gtkprintunixdialog.c:669
#, c-format
msgid ""
"The file already exists in “%s”. Replacing it will overwrite its contents."
-msgstr "'%s'(e)n badago fitxategia lehendik. Hau ordeztean bere eduki guztia gainidatziko da."
+msgstr ""
+"'%s'(e)n badago fitxategia lehendik. Hau ordeztean bere eduki guztia "
+"gainidatziko da."
-#: gtk/gtkfilechooserwidget.c:6549 gtk/gtkprintunixdialog.c:677
+#: gtk/gtkfilechooserwidget.c:6555 gtk/gtkprintunixdialog.c:677
msgid "_Replace"
msgstr "_Ordeztu"
-#: gtk/gtkfilechooserwidget.c:6763
+#: gtk/gtkfilechooserwidget.c:6769
msgid "You do not have access to the specified folder."
msgstr "Ez daukazu atzipenik zehaztutako karpetara."
-#: gtk/gtkfilechooserwidget.c:7386
+#: gtk/gtkfilechooserwidget.c:7392
msgid "Could not send the search request"
msgstr "Ezin izan da bilaketako eskaera bidali"
-#: gtk/gtkfilechooserwidget.c:7674
+#: gtk/gtkfilechooserwidget.c:7680
msgid "Accessed"
msgstr "Atzituta"
-#: gtk/gtkfilechooserwidget.c:8793 gtk/ui/gtkfilechooserwidget.ui:69
+#: gtk/gtkfilechooserwidget.c:8799 gtk/ui/gtkfilechooserwidget.ui:69
msgid "Create Folder"
msgstr "Sortu karpeta"
@@ -2710,12 +2742,12 @@ msgctxt "input method menu"
msgid "None"
msgstr "Bat ere ez"
-#: gtk/gtkimmulticontext.c:609
+#: gtk/gtkimmulticontext.c:615
msgctxt "input method menu"
msgid "System"
msgstr "Sistema"
-#: gtk/gtkimmulticontext.c:688
+#: gtk/gtkimmulticontext.c:694
#, c-format
msgctxt "input method menu"
msgid "System (%s)"
@@ -2761,7 +2793,8 @@ msgstr "APLIKAZIOA [URIa…] — abiarazi aplikazio bat"
msgid ""
"Launch an application (specified by its desktop file name),\n"
"optionally passing one or more URIs as arguments."
-msgstr "Abiarazi aplikazioa (bere mahaigaineko fitxategiaren\n"
+msgstr ""
+"Abiarazi aplikazioa (bere mahaigaineko fitxategiaren\n"
"informazioaren arabera zehaztuta), URIen argumentu bat\n"
"edo gehiago pasatuz."
@@ -2785,7 +2818,9 @@ msgstr "%s: aplikazioaren izena falta da"
#: gtk/gtk-launch.c:144
#, c-format
msgid "Creating AppInfo from id not supported on non unix operating systems"
-msgstr "ID batetik AppInfo sortzea ez dago onartuta unix motakoak ez diren sistema eragileetan."
+msgstr ""
+"ID batetik AppInfo sortzea ez dago onartuta unix motakoak ez diren sistema "
+"eragileetan."
#. Translators: the first %s is the program name, the second one
#. is the application name.
@@ -2821,21 +2856,24 @@ msgstr "Desblokeatu"
msgid ""
"Dialog is unlocked.\n"
"Click to prevent further changes"
-msgstr "Elkarrizketa-koadroa desblokeatuta dago.\n"
+msgstr ""
+"Elkarrizketa-koadroa desblokeatuta dago.\n"
"Egin klik aldaketa gehiago saihesteko."
#: gtk/gtklockbutton.c:302
msgid ""
"Dialog is locked.\n"
"Click to make changes"
-msgstr "Elkarrizketa-koadroa blokeatuta dago.\n"
+msgstr ""
+"Elkarrizketa-koadroa blokeatuta dago.\n"
"Egin klik aldaketak egiteko"
#: gtk/gtklockbutton.c:311
msgid ""
"System policy prevents changes.\n"
"Contact your system administrator"
-msgstr "Sistemaren arauek aldaketak saihesten dituzte.\n"
+msgstr ""
+"Sistemaren arauek aldaketak saihesten dituzte.\n"
"Jar zaitez sistemaren administratzailearekin harremanetan"
#. Description of --gtk-module=MODULES in --help output
@@ -3019,7 +3057,8 @@ msgid ""
" Right: %s %s\n"
" Top: %s %s\n"
" Bottom: %s %s"
-msgstr "Marjinak\n"
+msgstr ""
+"Marjinak\n"
" Ezkerrean: %s %s\n"
" Eskuinean: %s %s\n"
" Goian: %s %s\n"
@@ -3701,7 +3740,9 @@ msgstr "Ezin da '%s' URIa duen elementua '%s'(e)ra eraman"
#: gtk/gtkrecentmanager.c:2507
#, c-format
msgid "No registered application with name '%s' for item with URI '%s' found"
-msgstr "Ez da '%s' izenarekin erregistratutako aplikaziorik aurkitu '%s' URIa duen elementuarentzako"
+msgstr ""
+"Ez da '%s' izenarekin erregistratutako aplikaziorik aurkitu '%s' URIa duen "
+"elementuarentzako"
#: gtk/gtksearchentry.c:371
msgid "Search"
@@ -3889,7 +3930,9 @@ msgstr "Serieko datuak formatu okerra du"
#: gtk/gtktextbufferserialize.c:1873
msgid ""
"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
-msgstr "Serieko datuak formatu okerra du. Aurreneko atala ez da GTKTEXTBUFFERCONTENTS-0001"
+msgstr ""
+"Serieko datuak formatu okerra du. Aurreneko atala ez da "
+"GTKTEXTBUFFERCONTENTS-0001"
#: gtk/gtktextutil.c:57
msgid "LRM _Left-to-right mark"
@@ -3977,7 +4020,10 @@ msgid ""
"GTK+ Inspector is an interactive debugger that lets you explore and modify "
"the internals of any GTK+ application. Using it may cause the application to "
"break or crash."
-msgstr "GTK+ ikuskatzailea arazketa elkarreragile bat da, edozer GTk+ aplikazioren barnekoak arakatzea eta aldatzea baimentzen dizu. Hori erabiltzean aplikazioa hondatu edo kraskatu dezakezu."
+msgstr ""
+"GTK+ ikuskatzailea arazketa elkarreragile bat da, edozer GTk+ aplikazioren "
+"barnekoak arakatzea eta aldatzea baimentzen dizu. Hori erabiltzean "
+"aplikazioa hondatu edo kraskatu dezakezu."
#: gtk/gtkwindow.c:12784
msgid "Don't show this message again"
@@ -4013,11 +4059,14 @@ msgstr "GTK+-ek onartutako CSSren edozer arau idatz dezakezu hemen."
msgid ""
"You can temporarily disable this custom CSS by clicking on the “Pause” "
"button above."
-msgstr "CSS pertsonalizatu hau aldi baterako desgai dezakezu gaineko 'Pausatu' botoian klik eginez."
+msgstr ""
+"CSS pertsonalizatu hau aldi baterako desgai dezakezu gaineko 'Pausatu' "
+"botoian klik eginez."
#: gtk/inspector/css-editor.c:114
msgid "Changes are applied instantly and globally, for the whole application."
-msgstr "Aldaketak berehala eta globalki aplikatuko dira aplikazio osoarentzako."
+msgstr ""
+"Aldaketak berehala eta globalki aplikatuko dira aplikazio osoarentzako."
#: gtk/inspector/css-editor.c:162
#, c-format
@@ -4443,7 +4492,8 @@ msgstr "Ezarpena GTK_TEST_TOUCHSCREEN-ek kodean txertatuta dago"
msgid ""
"Not settable at runtime.\n"
"Use GDK_GL=always or GDK_GL=disable instead"
-msgstr "Ezin da exekuzio-denbora ezarri.\n"
+msgstr ""
+"Ezin da exekuzio-denbora ezarri.\n"
"Erabili 'GDK_GL=always' edo 'GDK_GL=disable' horren ordez"
#: gtk/inspector/visual.c:831 gtk/inspector/visual.c:832
@@ -7193,7 +7243,9 @@ msgstr "Zerbitzarien helbideak"
#: gtk/ui/gtkplacesview.ui:43
msgid ""
"Server addresses are made up of a protocol prefix and an address. Examples:"
-msgstr "Zerbitzari-helbideek protokolo-aurrizki bat eta helbide bat dituzte. Adibideak:"
+msgstr ""
+"Zerbitzari-helbideek protokolo-aurrizki bat eta helbide bat dituzte. "
+"Adibideak:"
#: gtk/ui/gtkplacesview.ui:78
msgid "Available Protocols"
@@ -7254,7 +7306,8 @@ msgstr "_Orrialdeak:"
msgid ""
"Specify one or more page ranges,\n"
" e.g. 13, 7, 11"
-msgstr "Zehaztu orrialdeen barruti bat edo gehiago,\n"
+msgstr ""
+"Zehaztu orrialdeen barruti bat edo gehiago,\n"
"adib. 13, 7, 11"
#: gtk/ui/gtkprintunixdialog.ui:276
@@ -7366,7 +7419,8 @@ msgstr "_Noiz:"
msgid ""
"Specify the time of print,\n"
" e.g. 1530, 235 pm, 141520, 114630 am, 4 pm"
-msgstr "Zehaztu inprimatze-ordua,\n"
+msgstr ""
+"Zehaztu inprimatze-ordua,\n"
"adib. 1530, 235 pm, 141520, 114630 am, 4 pm"
#: gtk/ui/gtkprintunixdialog.ui:1036
@@ -7554,7 +7608,8 @@ msgstr "Ez dago gaiaren indize-fitxategirik.\n"
msgid ""
"No theme index file in '%s'.\n"
"If you really want to create an icon cache here, use --ignore-theme-index.\n"
-msgstr "Ez dago gaiaren indize fitxategirik '%s'(e)n.\n"
+msgstr ""
+"Ez dago gaiaren indize fitxategirik '%s'(e)n.\n"
"Ikono-cache bat sortzea nahi baduzu erabili --ignore-theme-index.\n"
#. ID
@@ -7634,7 +7689,7 @@ msgid "Vietnamese (VIQR)"
msgstr "Vietnamdarra (VIQR)"
#. ID
-#: modules/input/imwayland.c:104
+#: modules/input/imwayland.c:105
msgctxt "input method menu"
msgid "Wayland"
msgstr "Wayland"
@@ -7690,7 +7745,8 @@ msgstr "Pasahitza:"
#: modules/printbackends/cups/gtkprintbackendcups.c:1460
#, c-format
msgid "Authentication is required to print document “%s” on printer %s"
-msgstr "Autentifikazioa behar da '%s' dokumentua '%s' inprimagailuan inprimatzeko"
+msgstr ""
+"Autentifikazioa behar da '%s' dokumentua '%s' inprimagailuan inprimatzeko"
#: modules/printbackends/cups/gtkprintbackendcups.c:1171
#, c-format
@@ -7747,7 +7803,8 @@ msgstr "Autentifikazioa behar da '%s' dokumentua inprimatzeko"
#: modules/printbackends/cups/gtkprintbackendcups.c:1467
#, c-format
msgid "Authentication is required to print this document on printer %s"
-msgstr "Autentifikazioa behar da dokumentu hau '%s' inprimagailuan inprimatzeko"
+msgstr ""
+"Autentifikazioa behar da dokumentu hau '%s' inprimagailuan inprimatzeko"
#: modules/printbackends/cups/gtkprintbackendcups.c:1469
msgid "Authentication is required to print this document"

File diff suppressed because it is too large Load Diff

View File

@ -3,18 +3,21 @@ Date: Thu, 2 Apr 2020 12:52:16 +0100
Subject: build: Generate gdk.gresource.xml in sorted order
The order in which the resources get embedded matters for reproducible
builds.
builds. In the Meson build system, gen-gdk-gresources-xml already sorts
the list, but in the Autotools build system they were previously taken
in readdir() order.
Signed-off-by: Simon McVittie <smcv@debian.org>
Applied-upstream: 3.24.18, commit:b35cd705a752979e1a7ca0745b1a015326826c32
---
gdk/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index bcaf272..c40d0e3 100644
index 479d6a1..3635864 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -461,7 +461,7 @@ stamp-gc-h: $(top_builddir)/config.status
@@ -471,7 +471,7 @@ stamp-gc-h: $(top_builddir)/config.status
# Resources
#

View File

@ -0,0 +1,25 @@
From: Nicola Fontana <ntd@entidi.it>
Date: Fri, 3 Apr 2020 17:00:59 +0200
Subject: docs: Do not call GTK APIs if gtk_init_check returns FALSE
See issue #994.
Origin: upstream, 3.24.18
---
gtk/gtkmain.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index ca56f94..f7cbb34 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -1090,6 +1090,9 @@ gtk_parse_args (int *argc,
* communication with the user - for example a curses or command line
* interface.
*
+ * Note that calling any GTK function or instantiating any GTK type after
+ * this function returns %FALSE results in undefined behavior.
+ *
* Returns: %TRUE if the commandline arguments (if any) were valid and
* the windowing system has been successfully initialized, %FALSE
* otherwise

View File

@ -17,7 +17,7 @@ Bug: https://gitlab.gnome.org/GNOME/gtk/issues/357
1 file changed, 6 insertions(+), 23 deletions(-)
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index 479d6a1..bcaf272 100644
index 3635864..c40d0e3 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -203,16 +203,8 @@ nodist_gdkinclude_HEADERS = gdkconfig.h gdkenumtypes.h gdkversionmacros.h

View File

@ -0,0 +1,65 @@
From: Thomas Holder <thomas@thomas-holder.de>
Date: Sat, 7 Mar 2020 14:47:32 +0100
Subject: macOS: fix #2436 raise transient window on focus
Origin: upstream, 3.24.18
---
gdk/quartz/gdkwindow-quartz.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
index 655d0a5..6f72793 100644
--- a/gdk/quartz/gdkwindow-quartz.c
+++ b/gdk/quartz/gdkwindow-quartz.c
@@ -743,15 +743,38 @@ _gdk_quartz_window_find_child (GdkWindow *window,
return NULL;
}
+/* Raises a transient window.
+ */
+static void
+raise_transient (GdkWindowImplQuartz *impl)
+{
+ /* In quartz the transient-for behavior is implemented by
+ * attaching the transient-for GdkNSWindows to the parent's
+ * GdkNSWindow. Stacking is managed by Quartz and the order
+ * is that of the parent's childWindows array. The only way
+ * to change that order is to remove the child from the
+ * parent and then add it back in.
+ */
+ GdkWindowImplQuartz *parent_impl =
+ GDK_WINDOW_IMPL_QUARTZ (impl->transient_for->impl);
+ [parent_impl->toplevel removeChildWindow:impl->toplevel];
+ [parent_impl->toplevel addChildWindow:impl->toplevel
+ ordered:NSWindowAbove];
+}
void
_gdk_quartz_window_did_become_main (GdkWindow *window)
{
+ GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
+
main_window_stack = g_slist_remove (main_window_stack, window);
if (window->window_type != GDK_WINDOW_TEMP)
main_window_stack = g_slist_prepend (main_window_stack, window);
+ if (impl->transient_for)
+ raise_transient (impl);
+
clear_toplevel_order ();
}
@@ -1510,7 +1533,11 @@ gdk_window_quartz_raise (GdkWindow *window)
GdkWindowImplQuartz *impl;
impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
- [impl->toplevel orderFront:impl->toplevel];
+
+ if (impl->transient_for)
+ raise_transient (impl);
+ else
+ [impl->toplevel orderFront:impl->toplevel];
clear_toplevel_order ();
}

20
debian/patches/series vendored
View File

@ -1,3 +1,18 @@
macOS-fix-2436-raise-transient-window-on-focus.patch
Update-Latvian-translation.patch
docs-Do-not-call-GTK-APIs-if-gtk_init_check-returns-FALSE.patch
Update-Basque-translation.patch
Do-not-require-an-initial-configure-for-custom-Wayland-su.patch
Do-not-require-an-initial-configure-for-DnD-windows.patch
wayland-Use-helpers-to-add-remove-margins-from-sizes.patch
wayland-Always-update-unconfigured-size.patch
wayland-Store-unconfigured-size-without-margin.patch
wayland-Guard-against-nonsense-sizes-being-configured.patch
wayland-Set-unconfigured-size-on-impl-construction.patch
wayland-Don-t-inhibit-premature-resize-for-popups.patch
build-Generate-gdk.gresource.xml-in-sorted-order.patch
wayland-Always-store-unconfigured-size.patch
updateiconcache-Sort-list-of-entries.patch
gdk-Don-t-distribute-generated-files-in-tarballs.patch
gtk-Really-don-t-distribute-built-files.patch
demos-examples-tests-Don-t-distribute-built-files.patch
@ -6,8 +21,3 @@ demos-examples-tests-Don-t-distribute-built-files.patch
060_ignore-random-icons.patch
reftest-known-fail.patch
Disable-accessibility-dump-aka-a11ytests-test.patch
updateiconcache-Sort-list-of-entries.patch
build-Generate-gdk.gresource.xml-in-sorted-order.patch
Do-not-require-an-initial-configure-for-custom-Wayland-su.patch
Do-not-require-an-initial-configure-for-DnD-windows.patch
wayland-don-t-call-gdk_wayland_window_configure-without-v.patch

View File

@ -15,7 +15,7 @@ Applied-upstream: 3.96.0, commit:b364827a5b99e3b02862f36be4c03826e72aefba
1 file changed, 9 insertions(+)
diff --git a/gtk/updateiconcache.c b/gtk/updateiconcache.c
index 6f76b6a..fd66ac8 100644
index b48eaca..6703c8b 100644
--- a/gtk/updateiconcache.c
+++ b/gtk/updateiconcache.c
@@ -600,6 +600,7 @@ scan_directory (const gchar *base_path,

View File

@ -0,0 +1,32 @@
From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 6 Apr 2020 14:20:43 +0200
Subject: wayland: Always store unconfigured size
This means it'll always be as up to date GdkWindow::width/height. We
still skip the resize for non-configured windows though, to avoid
mapping with the wrong size.
The commit f06ee688fe86ec8e1db1c515a7bf2ccc8decc310 also accidentally
removed the unconfigured size setting completely, so this essentially
adds it back, but always sets it.
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/2582
Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1638
Origin: upstream, 3.24.18
---
gdk/wayland/gdkwindow-wayland.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index f6acc743..30d4353 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -1156,6 +1156,8 @@ gdk_wayland_window_maybe_configure (GdkWindow *window,
gboolean is_xdg_popup;
gboolean is_visible;
+ impl->unconfigured_width = calculate_width_without_margin (window, width);
+ impl->unconfigured_height = calculate_height_without_margin (window, height);
if (should_inhibit_resize (window))
return;

View File

@ -0,0 +1,39 @@
From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 6 Apr 2020 12:05:58 +0200
Subject: wayland: Always update unconfigured size
If the window size didn't change, we should still update the
unconfigured size as the window size might not be up to date.
Origin: upstream, 3.24.18
---
gdk/wayland/gdkwindow-wayland.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 34ac430..8e2e023 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -1145,10 +1145,6 @@ gdk_wayland_window_maybe_configure (GdkWindow *window,
gboolean is_xdg_popup;
gboolean is_visible;
- if (window->width == width &&
- window->height == height &&
- impl->scale == scale)
- return;
if (needs_initial_configure (window) &&
!impl->initial_configure_received)
@@ -1158,6 +1154,11 @@ gdk_wayland_window_maybe_configure (GdkWindow *window,
return;
}
+ if (window->width == width &&
+ window->height == height &&
+ impl->scale == scale)
+ return;
+
/* For xdg_popup using an xdg_positioner, there is a race condition if
* the application tries to change the size after it's mapped, but before
* the initial configure is received, so hide and show the surface again

View File

@ -0,0 +1,87 @@
From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 6 Apr 2020 21:53:00 +0200
Subject: wayland: Don't inhibit premature resize for popups
So now we essentially only inhibit the premature resize for toplevel
windows, where it is most crucial. For popups, this didn't work for two
reasons: we relied on the owner of the popup (application) to resize
according to the configured size. For custom popup operators like
Epiphany and LibreOffice, this didn't work out well, since they simply
didn't.
Making gdk do it for them in case they didn't themself did make the
popups show up properly, but there were still some weirdness in
LibreOffice where tooltips didn't still didn't get the right size. So,
even though the size set by application may be different from the one
later configured by the display server, let the applications have their
way and see their resize result immediately. It's fairly likely to be
what they eventually get anyway.
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/2583
Origin: upstream, 3.24.18
---
gdk/wayland/gdkwindow-wayland.c | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index cbd9412..f6acc743 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -273,6 +273,7 @@ static void gdk_wayland_window_unexport (GdkWindow *window);
static void gdk_wayland_window_announce_decoration_mode (GdkWindow *window);
static gboolean should_map_as_subsurface (GdkWindow *window);
+static gboolean should_map_as_popup (GdkWindow *window);
GType _gdk_window_impl_wayland_get_type (void);
@@ -1122,7 +1123,7 @@ is_realized_popup (GdkWindow *window)
}
static gboolean
-needs_initial_configure (GdkWindow *window)
+should_inhibit_resize (GdkWindow *window)
{
GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
@@ -1132,12 +1133,17 @@ needs_initial_configure (GdkWindow *window)
return FALSE;
else if (impl->hint == GDK_WINDOW_TYPE_HINT_DND)
return FALSE;
- else if (is_realized_toplevel (window))
- return TRUE;
else if (is_realized_popup (window))
- return TRUE;
- else
- return !should_map_as_subsurface (window);
+ return FALSE;
+ else if (should_map_as_popup (window))
+ return FALSE;
+ else if (should_map_as_subsurface (window))
+ return FALSE;
+
+ /* This should now either be, or eventually be, a toplevel window,
+ * and we should wait for the initial configure to really configure it.
+ */
+ return !impl->initial_configure_received;
}
static void
@@ -1151,15 +1157,8 @@ gdk_wayland_window_maybe_configure (GdkWindow *window,
gboolean is_visible;
- if (needs_initial_configure (window) &&
- !impl->initial_configure_received)
- {
- impl->unconfigured_width = calculate_width_without_margin (window,
- width);
- impl->unconfigured_height = calculate_height_without_margin (window,
- height);
- return;
- }
+ if (should_inhibit_resize (window))
+ return;
if (window->width == width &&
window->height == height &&

View File

@ -0,0 +1,32 @@
From: Simon McVittie <smcv@debian.org>
Date: Mon, 6 Apr 2020 13:33:09 +0100
Subject: wayland: Guard against nonsense sizes being configured
With the fixes from !1638, it shouldn't be possible for this to happen
any more. However, non-positive sizes make no sense regardless, so if
this does somehow happen, let's make sure *something* reasonable happens.
The practical result of this assertion being hit is that we emit a
critical warning and then behave the same as if !1634 had been merged,
which is known to solve the issue for the submitter.
Signed-off-by: Simon McVittie <smcv@debian.org>
Applied-upstream: 3.24.18
---
gdk/wayland/gdkwindow-wayland.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 6c55544..8502473 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -1076,6 +1076,9 @@ gdk_wayland_window_configure (GdkWindow *window,
GdkDisplay *display;
GdkEvent *event;
+ g_return_if_fail (width > 0);
+ g_return_if_fail (height > 0);
+
event = gdk_event_new (GDK_CONFIGURE);
event->configure.window = g_object_ref (window);
event->configure.send_event = FALSE;

View File

@ -0,0 +1,26 @@
From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 6 Apr 2020 21:12:09 +0200
Subject: wayland: Set unconfigured size on impl construction
Who knows who might use this for something, so lets make the
unconfigured size slightly more predictable. This doesn't fix anything
known to be broken though.
Origin: upstream, 3.24.18
---
gdk/wayland/gdkwindow-wayland.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 8502473..cbd9412 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -749,6 +749,8 @@ _gdk_wayland_display_create_window_impl (GdkDisplay *display,
impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WAYLAND, NULL);
window->impl = GDK_WINDOW_IMPL (impl);
+ impl->unconfigured_width = window->width;
+ impl->unconfigured_height = window->height;
impl->wrapper = GDK_WINDOW (window);
impl->shortcuts_inhibitors = g_hash_table_new (NULL, NULL);
impl->using_csd = TRUE;

View File

@ -0,0 +1,54 @@
From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 6 Apr 2020 12:07:51 +0200
Subject: wayland: Store unconfigured size without margin
We get the unconfigured size request either with or without the shadow
margin already configured, so to get some consistency with the 'saved
size', cut away any potential shadow margin from the size before
storing.
Then when using, add it back, so we always create a configure event with
the correct size.
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/2576
Origin: upstream, 3.24.18
---
gdk/wayland/gdkwindow-wayland.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 8e2e023..6c55544 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -1149,8 +1149,10 @@ gdk_wayland_window_maybe_configure (GdkWindow *window,
if (needs_initial_configure (window) &&
!impl->initial_configure_received)
{
- impl->unconfigured_width = width;
- impl->unconfigured_height = height;
+ impl->unconfigured_width = calculate_width_without_margin (window,
+ width);
+ impl->unconfigured_height = calculate_height_without_margin (window,
+ height);
return;
}
@@ -1676,9 +1678,16 @@ gdk_wayland_window_handle_configure (GdkWindow *window,
}
else
{
+ int unconfigured_width;
+ int unconfigured_height;
+
+ unconfigured_width =
+ calculate_width_with_margin (window, impl->unconfigured_width);
+ unconfigured_height =
+ calculate_height_with_margin (window, impl->unconfigured_height);
gdk_wayland_window_configure (window,
- impl->unconfigured_width,
- impl->unconfigured_height,
+ unconfigured_width,
+ unconfigured_height,
impl->scale);
}

View File

@ -0,0 +1,138 @@
From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 6 Apr 2020 12:05:13 +0200
Subject: wayland: Use helpers to add/remove margins from sizes
Origin: upstream, 3.24.18
---
gdk/wayland/gdkwindow-wayland.c | 72 ++++++++++++++++++++++++++++++++---------
1 file changed, 56 insertions(+), 16 deletions(-)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 0450650..34ac430 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -312,6 +312,42 @@ drop_cairo_surfaces (GdkWindow *window)
impl->committed_cairo_surface = NULL;
}
+static int
+calculate_width_without_margin (GdkWindow *window,
+ int width)
+{
+ GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
+
+ return width - (impl->margin_left + impl->margin_right);
+}
+
+static int
+calculate_height_without_margin (GdkWindow *window,
+ int height)
+{
+ GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
+
+ return height - (impl->margin_top + impl->margin_bottom);
+}
+
+static int
+calculate_width_with_margin (GdkWindow *window,
+ int width)
+{
+ GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
+
+ return width + impl->margin_left + impl->margin_right;
+}
+
+static int
+calculate_height_with_margin (GdkWindow *window,
+ int height)
+{
+ GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
+
+ return height + impl->margin_top + impl->margin_bottom;
+}
+
static void
_gdk_wayland_window_save_size (GdkWindow *window)
{
@@ -322,8 +358,8 @@ _gdk_wayland_window_save_size (GdkWindow *window)
GDK_WINDOW_STATE_TILED))
return;
- impl->saved_width = window->width - impl->margin_left - impl->margin_right;
- impl->saved_height = window->height - impl->margin_top - impl->margin_bottom;
+ impl->saved_width = calculate_width_without_margin (window, window->width);
+ impl->saved_height = calculate_height_without_margin (window, window->height);
}
static void
@@ -1286,8 +1322,8 @@ gdk_wayland_window_get_window_geometry (GdkWindow *window,
*geometry = (GdkRectangle) {
.x = impl->margin_left,
.y = impl->margin_top,
- .width = window->width - (impl->margin_left + impl->margin_right),
- .height = window->height - (impl->margin_top + impl->margin_bottom)
+ .width = calculate_width_without_margin (window, window->width),
+ .height = calculate_height_without_margin (window, window->height)
};
}
@@ -1613,8 +1649,8 @@ gdk_wayland_window_handle_configure (GdkWindow *window,
/* Do not reapply contrains if we are restoring original size */
gdk_window_constrain_size (&impl->geometry_hints,
geometry_mask,
- width + impl->margin_left + impl->margin_right,
- height + impl->margin_top + impl->margin_bottom,
+ calculate_width_with_margin (window, width),
+ calculate_height_with_margin (window, height),
&width,
&height);
@@ -1624,8 +1660,8 @@ gdk_wayland_window_handle_configure (GdkWindow *window,
if (saved_size)
{
- configure_width = width + impl->margin_left + impl->margin_right;
- configure_height = height + impl->margin_top + impl->margin_bottom;
+ configure_width = calculate_width_with_margin (window, width);
+ configure_height = calculate_height_with_margin (window, height);
}
else
{
@@ -3845,14 +3881,18 @@ gdk_wayland_window_set_geometry_hints (GdkWindow *window,
if (geom_mask & GDK_HINT_MIN_SIZE)
{
- min_width = MAX (0, geometry->min_width - (impl->margin_left + impl->margin_right));
- min_height = MAX (0, geometry->min_height - (impl->margin_top + impl->margin_bottom));
+ min_width =
+ MAX (0, calculate_width_without_margin (window, geometry->min_width));
+ min_height =
+ MAX (0, calculate_height_without_margin (window, geometry->min_height));
}
if (geom_mask & GDK_HINT_MAX_SIZE)
{
- max_width = MAX (0, geometry->max_width - (impl->margin_left + impl->margin_right));
- max_height = MAX (0, geometry->max_height - (impl->margin_top + impl->margin_bottom));
+ max_width =
+ MAX (0, calculate_width_without_margin (window, geometry->max_width));
+ max_height =
+ MAX (0, calculate_height_without_margin (window, geometry->max_height));
}
switch (display_wayland->shell_variant)
@@ -4531,10 +4571,10 @@ gdk_wayland_window_set_shadow_width (GdkWindow *window,
return;
/* Reconfigure window to keep the same window geometry */
- new_width = window->width -
- (impl->margin_left + impl->margin_right) + (left + right);
- new_height = window->height -
- (impl->margin_top + impl->margin_bottom) + (top + bottom);
+ new_width = (calculate_width_without_margin (window, window->width) +
+ (left + right));
+ new_height = (calculate_height_without_margin (window, window->height) +
+ (top + bottom));
gdk_wayland_window_maybe_configure (window, new_width, new_height, impl->scale);
impl->margin_left = left;

View File

@ -1,41 +0,0 @@
From: Jonas Witschel <diabonas@archlinux.org>
Date: Sun, 5 Apr 2020 20:16:52 +0200
Subject: wayland: don't call gdk_wayland_window_configure without valid size
Commit 7f12dc2b66bba15b2e1c0ca077fa4ae58962ec0f ("wayland: Postpone
window resize requests until configured") runs
gdk_wayland_window_configure unconditionally even if no valid size is
set. This breaks GtkDialogs, which are not shown any more, and results
in warnings like
gtk_widget_size_allocate(): attempt to allocate widget with width -3 and
height -3
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/2574
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955820
Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1634
Applied-upstream: no
---
gdk/wayland/gdkwindow-wayland.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 0450650..2dfe6f1 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -1639,10 +1639,11 @@ gdk_wayland_window_handle_configure (GdkWindow *window,
}
else
{
- gdk_wayland_window_configure (window,
- impl->unconfigured_width,
- impl->unconfigured_height,
- impl->scale);
+ if (impl->unconfigured_width > 0 && impl->unconfigured_height > 0)
+ gdk_wayland_window_configure (window,
+ impl->unconfigured_width,
+ impl->unconfigured_height,
+ impl->scale);
}
if (fixed_size)