r49162 - in /desktop/unstable/mutter/debian: ./ patches/

smcv at users.alioth.debian.org smcv at users.alioth.debian.org
Fri Jun 24 18:22:49 UTC 2016


Author: smcv
Date: Fri Jun 24 18:22:49 2016
New Revision: 49162

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=49162
Log:
* Add all patches from upstream gnome-3-20 branch up to 2016-06-10

  - fix a possible crash in Wayland
  - ensure that Wayland output reconfiguration finishes correctly
  - implement "force quit" in Wayland using kill(), like in X11
  - improve UTF-8 correctness
  - update translations

Added:
    desktop/unstable/mutter/debian/patches/Updated-Norwegian-bokm-l-translation.patch
    desktop/unstable/mutter/debian/patches/Updated-Turkish-translation.patch
    desktop/unstable/mutter/debian/patches/wayland-Implement-force-quit-using-kill.patch
    desktop/unstable/mutter/debian/patches/wayland-don-t-send-notify-when-window-is-being-unman.patch
    desktop/unstable/mutter/debian/patches/wayland-outputs-Refactor-event-sending-to-ensure-we-.patch
    desktop/unstable/mutter/debian/patches/wayland-surface-UTF-8-validate-title-class-and-app-I.patch
    desktop/unstable/mutter/debian/patches/window-Don-t-create-invalid-UTF-8-window-description.patch
    desktop/unstable/mutter/debian/patches/x11-window-props-Convert-WM_NAME-and-WM_CLASS-to-UTF.patch
Modified:
    desktop/unstable/mutter/debian/changelog
    desktop/unstable/mutter/debian/patches/series

Modified: desktop/unstable/mutter/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/changelog?rev=49162&op=diff
==============================================================================
--- desktop/unstable/mutter/debian/changelog	[utf-8] (original)
+++ desktop/unstable/mutter/debian/changelog	[utf-8] Fri Jun 24 18:22:49 2016
@@ -6,6 +6,12 @@
     format
 
   [ Simon McVittie ]
+  * Add all patches from upstream gnome-3-20 branch up to 2016-06-10
+    - fix a possible crash in Wayland
+    - ensure that Wayland output reconfiguration finishes correctly
+    - implement "force quit" in Wayland using kill(), like in X11
+    - improve UTF-8 correctness
+    - update translations
   * Backport patch from upstream to introduce XDG_SURFACE_STATE_GNOME_TILED
     and mark tiled windows with it, allowing GDK versions with a
     corresponding patch to report GDK_WINDOW_STATE_TILED correctly under

Added: desktop/unstable/mutter/debian/patches/Updated-Norwegian-bokm-l-translation.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/Updated-Norwegian-bokm-l-translation.patch?rev=49162&op=file
==============================================================================
--- desktop/unstable/mutter/debian/patches/Updated-Norwegian-bokm-l-translation.patch	(added)
+++ desktop/unstable/mutter/debian/patches/Updated-Norwegian-bokm-l-translation.patch	[utf-8] Fri Jun 24 18:22:49 2016
@@ -0,0 +1,545 @@
+From ae8ce1558791db71bf1601d127a75f601a496b35 Mon Sep 17 00:00:00 2001
+From: Kjartan Maraas <kmaraas at gnome.org>
+Date: Mon, 23 May 2016 19:00:34 +0200
+Subject: [PATCH 3/8] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20transla?=
+ =?UTF-8?q?tion.?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Origin: upstream, 3.20.3
+---
+ po/nb.po | 432 +++++----------------------------------------------------------
+ 1 file changed, 29 insertions(+), 403 deletions(-)
+
+diff --git a/po/nb.po b/po/nb.po
+index 2d79317..122b5ba 100644
+--- a/po/nb.po
++++ b/po/nb.po
+@@ -1,13 +1,13 @@
+ # Norwegian bokmål translation of mutter.
+ # Copyright © 2002-2004 Free Software Foundation, Inc.
+-# Kjartan Maraas <kmaraas at gnome.org>, 2002-2015.
++# Kjartan Maraas <kmaraas at gnome.org>, 2002-2016.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: mutter 3.15.x\n"
++"Project-Id-Version: mutter 3.20.x\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2015-03-19 21:23+0100\n"
+-"PO-Revision-Date: 2015-03-19 21:24+0100\n"
++"POT-Creation-Date: 2016-05-23 18:59+0200\n"
++"PO-Revision-Date: 2016-05-23 19:00+0200\n"
+ "Last-Translator: Kjartan Maraas <kmaraas at gnome.org>\n"
+ "Language-Team: Norwegian bokmål <i18n-no at lister.ping.uio.no>\n"
+ "Language: \n"
+@@ -448,22 +448,22 @@ msgstr "Bytt til VT 11"
+ msgid "Switch to VT 12"
+ msgstr "Bytt til VT 12"
+ 
+-#: ../src/backends/meta-monitor-manager.c:364
++#: ../src/backends/meta-monitor-manager.c:515
+ msgid "Built-in display"
+ msgstr "Innebygget skjerm"
+ 
+-#: ../src/backends/meta-monitor-manager.c:391
++#: ../src/backends/meta-monitor-manager.c:538
+ msgid "Unknown"
+ msgstr "Ukjent"
+ 
+-#: ../src/backends/meta-monitor-manager.c:393
++#: ../src/backends/meta-monitor-manager.c:540
+ msgid "Unknown Display"
+ msgstr "Ukjent skjerm"
+ 
+ #. TRANSLATORS: this is a monitor vendor name, followed by a
+ #. * size in inches, like 'Dell 15"'
+ #.
+-#: ../src/backends/meta-monitor-manager.c:401
++#: ../src/backends/meta-monitor-manager.c:548
+ #, c-format
+ msgid "%s %s"
+ msgstr "%s %s"
+@@ -477,7 +477,7 @@ msgid ""
+ "\"."
+ msgstr "En annen compositing manager kjører skjerm %i på display «%s»."
+ 
+-#: ../src/core/bell.c:185
++#: ../src/core/bell.c:194
+ msgid "Bell event"
+ msgstr "Klokkehendelse"
+ 
+@@ -506,40 +506,44 @@ msgstr "_Vent"
+ msgid "_Force Quit"
+ msgstr "_Tvungen nedstenging"
+ 
+-#: ../src/core/display.c:562
++#: ../src/core/display.c:555
+ #, c-format
+ msgid "Failed to open X Window System display '%s'\n"
+ msgstr "Feil under åpning av X Window System skjerm «%s»\n"
+ 
+-#: ../src/core/main.c:176
++#: ../src/core/main.c:181
+ msgid "Disable connection to session manager"
+ msgstr "Deaktiver tilkobling til sesjonshåndtereren"
+ 
+-#: ../src/core/main.c:182
++#: ../src/core/main.c:187
+ msgid "Replace the running window manager"
+ msgstr "Erstatt kjørende vindushåndterer"
+ 
+-#: ../src/core/main.c:188
++#: ../src/core/main.c:193
+ msgid "Specify session management ID"
+ msgstr "Oppgi sesjonshåndterings-ID"
+ 
+-#: ../src/core/main.c:193
++#: ../src/core/main.c:198
+ msgid "X Display to use"
+ msgstr "X-skjerm som skal brukes"
+ 
+-#: ../src/core/main.c:199
++#: ../src/core/main.c:204
+ msgid "Initialize session from savefile"
+ msgstr "Initier sesjonen fra en lagret fil"
+ 
+-#: ../src/core/main.c:205
++#: ../src/core/main.c:210
+ msgid "Make X calls synchronous"
+ msgstr "Gjør X-kall synkrone"
+ 
+-#: ../src/core/main.c:212
++#: ../src/core/main.c:217
+ msgid "Run as a wayland compositor"
+ msgstr "Kjør som en wayland-kompositør"
+ 
+-#: ../src/core/main.c:220
++#: ../src/core/main.c:223
++msgid "Run as a nested compositor"
++msgstr "Kjør som en nøstet kompositør"
++
++#: ../src/core/main.c:231
+ msgid "Run as a full display server, rather than nested"
+ msgstr "Kjør som en full skjermtjener, heller enn nøstet"
+ 
+@@ -565,24 +569,26 @@ msgstr "Skriv versjonsnummer"
+ msgid "Mutter plugin to use"
+ msgstr "Mutter-tillegg som skal brukes"
+ 
+-#: ../src/core/prefs.c:2004
++#: ../src/core/prefs.c:1997
+ #, c-format
+ msgid "Workspace %d"
+ msgstr "Arbeidsområde %d"
+ 
+-#: ../src/core/screen.c:525
++#: ../src/core/screen.c:521
+ #, c-format
+ msgid ""
+ "Display \"%s\" already has a window manager; try using the --replace option "
+ "to replace the current window manager."
+-msgstr "Skjerm «%s» har allerede en vindushåndterer; prøv å bruke flagget --replace for å erstatte aktiv vindushåndterer."
++msgstr ""
++"Skjerm «%s» har allerede en vindushåndterer; prøv å bruke flagget --replace "
++"for å erstatte aktiv vindushåndterer."
+ 
+-#: ../src/core/screen.c:607
++#: ../src/core/screen.c:603
+ #, c-format
+ msgid "Screen %d on display '%s' is invalid\n"
+ msgstr "Skjerm %d på display «%s» er ugyldig\n"
+ 
+-#: ../src/core/util.c:118
++#: ../src/core/util.c:121
+ msgid "Mutter was compiled without support for verbose mode\n"
+ msgstr "Mutter er kompilert uten støtte for «verbose» modus\n"
+ 
+@@ -598,383 +604,3 @@ msgstr ""
+ #, c-format
+ msgid "%s (on %s)"
+ msgstr "%s (på %s)"
+-
+-#~ msgid ""
+-#~ "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit "
+-#~ "the format"
+-#~ msgstr ""
+-#~ "Blandingsformat er «blend/bg_color/fg_color/alpha», «%s» passer ikke i "
+-#~ "formatet"
+-
+-#~ msgid "Could not parse alpha value \"%s\" in blended color"
+-#~ msgstr "Kunne ikke lese alpha-verdi «%s» i blandet farge"
+-
+-#~ msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
+-#~ msgstr "Alpha-verdi «%s» i blandet farge er ikke mellom 0.0 og 1.0"
+-
+-#~ msgid ""
+-#~ "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the "
+-#~ "format"
+-#~ msgstr ""
+-#~ "Skyggeformatet er «shade/base_color/factor», «%s» passer ikke i formatet"
+-
+-#~ msgid "Could not parse shade factor \"%s\" in shaded color"
+-#~ msgstr "Kunne ikke lese skyggefaktor «%s» i skyggelagt farge"
+-
+-#~ msgid "Shade factor \"%s\" in shaded color is negative"
+-#~ msgstr "Skyggefaktor «%s» i skyggelagt farge er negativ"
+-
+-#~ msgid "Could not parse color \"%s\""
+-#~ msgstr "Kunne ikke lese farge «%s»"
+-
+-#~ msgid "Coordinate expression contains character '%s' which is not allowed"
+-#~ msgstr "Koordinatuttrykk inneholder tegn «%s» som ikke er tillatt"
+-
+-#~ msgid ""
+-#~ "Coordinate expression contains floating point number '%s' which could not "
+-#~ "be parsed"
+-#~ msgstr "Koordinatuttrykk inneholder flyttall «%s» som ikke kunne tolkes"
+-
+-#~ msgid ""
+-#~ "Coordinate expression contains integer '%s' which could not be parsed"
+-#~ msgstr "Koordinatuttrykk inneholder heltall «%s» som ikke kunne tolkes"
+-
+-#~ msgid ""
+-#~ "Coordinate expression contained unknown operator at the start of this "
+-#~ "text: \"%s\""
+-#~ msgstr ""
+-#~ "Koordinatuttrykket inneholdt en ukjent operator ved begynnelsen av denne "
+-#~ "teksten: «%s»"
+-
+-#~ msgid "Coordinate expression was empty or not understood"
+-#~ msgstr "Koordinatuttrykket var tomt eller ble ikke forstått"
+-
+-#~ msgid "Coordinate expression results in division by zero"
+-#~ msgstr "Koordinatuttrykket resulterer i divisjon med null"
+-
+-#~ msgid ""
+-#~ "Coordinate expression tries to use mod operator on a floating-point number"
+-#~ msgstr "Koordinatuttrykket prøver å bruke mod-operator på et flyttall"
+-
+-#~ msgid ""
+-#~ "Coordinate expression has an operator \"%s\" where an operand was expected"
+-#~ msgstr "Koordinatuttrykket har en operator «%s» hvor en operand var ventet"
+-
+-#~ msgid "Coordinate expression had an operand where an operator was expected"
+-#~ msgstr "Koordinatuttrykket hadde en operand hvor en operator var ventet"
+-
+-#~ msgid "Coordinate expression ended with an operator instead of an operand"
+-#~ msgstr "Koordinatuttrykket sluttet med en operator i stedet for en operand"
+-
+-#~ msgid ""
+-#~ "Coordinate expression has operator \"%c\" following operator \"%c\" with "
+-#~ "no operand in between"
+-#~ msgstr ""
+-#~ "Koordinatuttrykket har en operator «%c» etter en operator «%c» og ingen "
+-#~ "operand mellom dem."
+-
+-#~ msgid "Coordinate expression had unknown variable or constant \"%s\""
+-#~ msgstr "Koordinatuttrykket haddeen ukjent variabel eller konstant «%s»"
+-
+-#~ msgid "Coordinate expression parser overflowed its buffer."
+-#~ msgstr "Tolkeren for koordinatuttrykk oversteg buffergrensen."
+-
+-#~ msgid ""
+-#~ "Coordinate expression had a close parenthesis with no open parenthesis"
+-#~ msgstr "Koordinatuttrykket hadde en parantes slutt uten parantes start"
+-
+-#~ msgid ""
+-#~ "Coordinate expression had an open parenthesis with no close parenthesis"
+-#~ msgstr ""
+-#~ "Koordinatuttrykket hadde en åpen parantes uten en avsluttende parantes"
+-
+-#~ msgid "Coordinate expression doesn't seem to have any operators or operands"
+-#~ msgstr ""
+-#~ "Koordinatuttrykket ser ikke ut til å ha noen operatorer eller operander"
+-
+-#~ msgid "Theme contained an expression that resulted in an error: %s\n"
+-#~ msgstr "Tema inneholdt et uttrykk som resulterte i en feil: %s\n"
+-
+-#~ msgid ""
+-#~ "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
+-#~ "specified for this frame style"
+-#~ msgstr ""
+-#~ "<button function=«%s» state=«%s» draw_ops=«ett-eller-annet»/> må "
+-#~ "spesifiseres for denne rammestilen"
+-
+-#~ msgid ""
+-#~ "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/"
+-#~ ">"
+-#~ msgstr ""
+-#~ "Mangler <frame state=«%s» resize=«%s» focus=«%s» stil=«ett-eller-annet»/>"
+-
+-#~ msgid "Failed to load theme \"%s\": %s\n"
+-#~ msgstr "Klarte ikke å laste tema «%s»: %s\n"
+-
+-#~ msgid "No <%s> set for theme \"%s\""
+-#~ msgstr "<%s> er ikke satt for tema «%s»"
+-
+-#~ msgid ""
+-#~ "No frame style set for window type \"%s\" in theme \"%s\", add a <window "
+-#~ "type=\"%s\" style_set=\"whatever\"/> element"
+-#~ msgstr ""
+-#~ "Ingen rammestil satt for vindutype «%s» i tema «%s», legg til et <window "
+-#~ "type=«%s» style_set=«ett-eller-annet»/>-element"
+-
+-#~ msgid ""
+-#~ "User-defined constants must begin with a capital letter; \"%s\" does not"
+-#~ msgstr ""
+-#~ "Brukerdefinerte konstanter må begynne med stor bokstav; «%s» gjør ikke det"
+-
+-#~ msgid "Constant \"%s\" has already been defined"
+-#~ msgstr "Konstant «%s» er allerede definert"
+-
+-#~ msgid "No \"%s\" attribute on element <%s>"
+-#~ msgstr "Ingen «%s»-attributt på element <%s>"
+-
+-#~ msgid "Line %d character %d: %s"
+-#~ msgstr "Linje %d tegn %d: %s"
+-
+-#~ msgid "Attribute \"%s\" repeated twice on the same <%s> element"
+-#~ msgstr "Attributt «%s» gjentatt to ganger på samme <%s>-element"
+-
+-#~ msgid "Attribute \"%s\" is invalid on <%s> element in this context"
+-#~ msgstr "Attributt «%s» er ugyldig på <%s>-element i denne konteksten"
+-
+-#~ msgid "Could not parse \"%s\" as an integer"
+-#~ msgstr "Kunne ikke lese «%s» som et heltall"
+-
+-#~ msgid "Did not understand trailing characters \"%s\" in string \"%s\""
+-#~ msgstr "Forsto ikke etterslepende tegn «%s» i streng «%s»"
+-
+-#~ msgid "Integer %ld must be positive"
+-#~ msgstr "Heltall %ld må være positivt"
+-
+-#~ msgid "Integer %ld is too large, current max is %d"
+-#~ msgstr "Heltall %ld er for stort, maksimalverdien er %d"
+-
+-#~ msgid "Could not parse \"%s\" as a floating point number"
+-#~ msgstr "Kunne ikke lese «%s» som et flyttall"
+-
+-#~ msgid "Boolean values must be \"true\" or \"false\" not \"%s\""
+-#~ msgstr "Bolske verdier må være «sann» eller «usann» ikke «%s»"
+-
+-#~ msgid "Angle must be between 0.0 and 360.0, was %g\n"
+-#~ msgstr "Vinkelen må være mellom 0.0 og 360.0, var %g\n"
+-
+-#~ msgid ""
+-#~ "Alpha must be between 0.0 (invisible) and 1.0 (fully opaque), was %g\n"
+-#~ msgstr ""
+-#~ "Alpha må være mellom 0.0 (usynlig) og 1.0 (helt ugjennomsiktig), var %g\n"
+-
+-#~ msgid ""
+-#~ "Invalid title scale \"%s\" (must be one of xx-small,x-small,small,medium,"
+-#~ "large,x-large,xx-large)\n"
+-#~ msgstr ""
+-#~ "Ugyldig skalering av tittel «%s» (må være en av xx-small,x-small,small,"
+-#~ "medium,large,x-large,xx-large)\n"
+-
+-#~ msgid "<%s> name \"%s\" used a second time"
+-#~ msgstr "<%s> navn «%s» brukt på nytt"
+-
+-#~ msgid "<%s> parent \"%s\" has not been defined"
+-#~ msgstr "<%s> opphav «%s» er ikke definert"
+-
+-#~ msgid "<%s> geometry \"%s\" has not been defined"
+-#~ msgstr "<%s> geometri «%s» er ikke definert"
+-
+-#~ msgid "<%s> must specify either a geometry or a parent that has a geometry"
+-#~ msgstr ""
+-#~ "<%s> må spesifisere enten en geometri eller et opphav som har geometri"
+-
+-#~ msgid "You must specify a background for an alpha value to be meaningful"
+-#~ msgstr "Du må oppgi en bakgrunn for at en alpha-verdi skal ha mening"
+-
+-#~ msgid "Unknown type \"%s\" on <%s> element"
+-#~ msgstr "Ukjent type «%s» på <%s>-element"
+-
+-#~ msgid "Unknown style_set \"%s\" on <%s> element"
+-#~ msgstr "Ukjent style_set «%s» på <%s>-element"
+-
+-#~ msgid "Window type \"%s\" has already been assigned a style set"
+-#~ msgstr "Vindutype «%s» er allerede tildelt et stilsett"
+-
+-#~ msgid "Element <%s> is not allowed below <%s>"
+-#~ msgstr "Element <%s> er ikke tillatt under <%s>"
+-
+-#~ msgid ""
+-#~ "Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio"
+-#~ "\" for buttons"
+-#~ msgstr ""
+-#~ "Kan ikke spesifisere både «button_width»/«button_height» og "
+-#~ "«aspect_ratio» for knapper"
+-
+-#~ msgid "Distance \"%s\" is unknown"
+-#~ msgstr "Avstand «%s» er ukjent"
+-
+-#~ msgid "Aspect ratio \"%s\" is unknown"
+-#~ msgstr "Aspektrate «%s» er ukjent"
+-
+-#~ msgid "Border \"%s\" is unknown"
+-#~ msgstr "Grense «%s» er ukjent"
+-
+-#~ msgid "No \"start_angle\" or \"from\" attribute on element <%s>"
+-#~ msgstr "Ingen «start_angle» eller «from»-attributt på element <%s>"
+-
+-#~ msgid "No \"extent_angle\" or \"to\" attribute on element <%s>"
+-#~ msgstr "Ingen «extent_angle» eller «to»-attributt <%s>-element"
+-
+-#~ msgid "Did not understand value \"%s\" for type of gradient"
+-#~ msgstr "Forsto ikke verdi «%s» for gradienttype"
+-
+-#~ msgid "Did not understand fill type \"%s\" for <%s> element"
+-#~ msgstr "Forsto ikke fyll-type «%s» for <%s>-element"
+-
+-#~ msgid "Did not understand state \"%s\" for <%s> element"
+-#~ msgstr "Forsto ikke tilstand «%s» for element <%s>"
+-
+-#~ msgid "Did not understand shadow \"%s\" for <%s> element"
+-#~ msgstr "Forsto ikke skygge «%s» for element <%s>"
+-
+-#~ msgid "Did not understand arrow \"%s\" for <%s> element"
+-#~ msgstr "Forsto ikke pil «%s» for element <%s>"
+-
+-#~ msgid "No <draw_ops> called \"%s\" has been defined"
+-#~ msgstr "Ingen <draw_ops> kalt «%s» er definert"
+-
+-#~ msgid "Including draw_ops \"%s\" here would create a circular reference"
+-#~ msgstr ""
+-#~ "Hvis du tar med draw_ops «%s» her vil dette lage en sirkulær referanse"
+-
+-#~ msgid "Unknown position \"%s\" for frame piece"
+-#~ msgstr "Ukjent posisjon «%s» for rammesdel"
+-
+-#~ msgid "Frame style already has a piece at position %s"
+-#~ msgstr "Rammestil har allerede en del i posisjon %s"
+-
+-#~ msgid "No <draw_ops> with the name \"%s\" has been defined"
+-#~ msgstr "Ingen <draw_ops> med navn «%s» er definert"
+-
+-#~ msgid "Unknown function \"%s\" for button"
+-#~ msgstr "Ukjent funksjon «%s» for knapp"
+-
+-#~ msgid "Button function \"%s\" does not exist in this version (%d, need %d)"
+-#~ msgstr ""
+-#~ "Knappefunksjon «%s» eksisterer ikke i denne versjonen (%d, trenger %d)"
+-
+-#~ msgid "Unknown state \"%s\" for button"
+-#~ msgstr "Ukjent tilstand «%s» for knapp"
+-
+-#~ msgid "Frame style already has a button for function %s state %s"
+-#~ msgstr "Rammestil har allerede en knapp for funksjon %s tilstand %s"
+-
+-#~ msgid "\"%s\" is not a valid value for focus attribute"
+-#~ msgstr "«%s» er ikke en gyldig verdi for fokusattributt"
+-
+-#~ msgid "\"%s\" is not a valid value for state attribute"
+-#~ msgstr "«%s» er ikke en gyldig verdi for tilstandsattributt"
+-
+-#~ msgid "A style called \"%s\" has not been defined"
+-#~ msgstr "En stil med navn «%s» er ikke definert"
+-
+-#~ msgid "\"%s\" is not a valid value for resize attribute"
+-#~ msgstr "«%s» er ikke en gyldig verdi for attributt for endring av størrelse"
+-
+-#~ msgid ""
+-#~ "Should not have \"resize\" attribute on <%s> element for maximized/shaded "
+-#~ "states"
+-#~ msgstr ""
+-#~ "Skal ikke være noen «resize»-attributt på <%s>-element for maksimert/"
+-#~ "skyggelagt tilstand"
+-
+-#~ msgid ""
+-#~ "Should not have \"resize\" attribute on <%s> element for maximized states"
+-#~ msgstr ""
+-#~ "Skal ikke være noen «resize»-attributt på <%s>-element for maksimert "
+-#~ "tilstand"
+-
+-#~ msgid "Style has already been specified for state %s resize %s focus %s"
+-#~ msgstr ""
+-#~ "Stil er allerede spesifisert for tilstand %s størrelsesendring %s fokus %s"
+-
+-#~ msgid "Style has already been specified for state %s focus %s"
+-#~ msgstr "Stil er allerede spesifisert for tilstand %s fokus %s"
+-
+-#~ msgid ""
+-#~ "Can't have a two draw_ops for a <piece> element (theme specified a "
+-#~ "draw_ops attribute and also a <draw_ops> element, or specified two "
+-#~ "elements)"
+-#~ msgstr ""
+-#~ "Kan ikke ha to draw_ops for et <piece>-element (tema spesifiserte en "
+-#~ "draw_ops-attributt i tillegg til et <draw_ops>-element, eller så "
+-#~ "spesifiserte det to elementer)"
+-
+-#~ msgid ""
+-#~ "Can't have a two draw_ops for a <button> element (theme specified a "
+-#~ "draw_ops attribute and also a <draw_ops> element, or specified two "
+-#~ "elements)"
+-#~ msgstr ""
+-#~ "Kan ikke ha to draw_ops for et <button>-element (tema spesifiserte en "
+-#~ "draw_ops-attributt i tillegg til et <draw_ops>-element, eller det "
+-#~ "spesifiserte to elementer)"
+-
+-#~ msgid ""
+-#~ "Can't have a two draw_ops for a <menu_icon> element (theme specified a "
+-#~ "draw_ops attribute and also a <draw_ops> element, or specified two "
+-#~ "elements)"
+-#~ msgstr ""
+-#~ "Kan ikke ha to draw_ops for et <menu_icon>-element (tema spesifiserte en "
+-#~ "draw_ops-attributt i tillegg til et <draw_ops>-element, eller det "
+-#~ "spesifiserte to elementer)"
+-
+-#~ msgid "Bad version specification '%s'"
+-#~ msgstr "Ugyldig versjonspesifikasjon «%s»"
+-
+-#~ msgid ""
+-#~ "\"version\" attribute cannot be used in metacity-theme-1.xml or metacity-"
+-#~ "theme-2.xml"
+-#~ msgstr ""
+-#~ "«version»-attributt kan ikke brukes i metacity-theme-1.xml eller metacity-"
+-#~ "theme-2.xml"
+-
+-#~ msgid ""
+-#~ "Theme requires version %s but latest supported theme version is %d.%d"
+-#~ msgstr "Tema krever versjon %s men siste støttede temaversjon er %d.%d"
+-
+-#~ msgid "Outermost element in theme must be <metacity_theme> not <%s>"
+-#~ msgstr "Ytterste element i temaet må være <metacity_theme> ikke <%s>"
+-
+-#~ msgid ""
+-#~ "Element <%s> is not allowed inside a name/author/date/description element"
+-#~ msgstr ""
+-#~ "Element <%s> er ikke tillatt inne i et name/author/date/description "
+-#~ "element"
+-
+-#~ msgid "Element <%s> is not allowed inside a <constant> element"
+-#~ msgstr "Element <%s> er ikke tillatt inne i et <constand> element"
+-
+-#~ msgid ""
+-#~ "Element <%s> is not allowed inside a distance/border/aspect_ratio element"
+-#~ msgstr ""
+-#~ "Element <%s> er ikke tillatt inne i et avstand/kant/aspektrate-element"
+-
+-#~ msgid "Element <%s> is not allowed inside a draw operation element"
+-#~ msgstr "Element <%s> er ikke tillatt inne i et element for tegneoperasjon"
+-
+-#~ msgid "Element <%s> is not allowed inside a <%s> element"
+-#~ msgstr "Element <%s> er ikke tillatt inne i et <%s>-element"
+-
+-#~ msgid "No draw_ops provided for frame piece"
+-#~ msgstr "Ingen draw_ops tilbys for rammedelen"
+-
+-#~ msgid "No draw_ops provided for button"
+-#~ msgstr "Ingen draw_ops tilbys for knappen"
+-
+-#~ msgid "No text is allowed inside element <%s>"
+-#~ msgstr "Ingen tekst er tillatt inne i element <%s>"
+-
+-#~ msgid "<%s> specified twice for this theme"
+-#~ msgstr "<%s> spesifisert to ganger for dette temaet"
+-
+-#~ msgid "Failed to find a valid file for theme %s\n"
+-#~ msgstr "Fant ikke en gyldig fil for tema %s\n"
+-- 
+2.8.1
+

Added: desktop/unstable/mutter/debian/patches/Updated-Turkish-translation.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/Updated-Turkish-translation.patch?rev=49162&op=file
==============================================================================
--- desktop/unstable/mutter/debian/patches/Updated-Turkish-translation.patch	(added)
+++ desktop/unstable/mutter/debian/patches/Updated-Turkish-translation.patch	[utf-8] Fri Jun 24 18:22:49 2016
@@ -0,0 +1,332 @@
+From 69086f8daa051b26f471b0b13d3deb19c60dc1b4 Mon Sep 17 00:00:00 2001
+From: Muhammet Kara <muhammetk at gmail.com>
+Date: Thu, 26 May 2016 19:27:56 +0000
+Subject: [PATCH 4/8] Updated Turkish translation
+
+Origin: upstream, 3.20.3
+---
+ po/tr.po | 82 ++++++++++++++++++++--------------------------------------------
+ 1 file changed, 26 insertions(+), 56 deletions(-)
+
+diff --git a/po/tr.po b/po/tr.po
+index 6f1cff5..c42c0c7 100644
+--- a/po/tr.po
++++ b/po/tr.po
+@@ -6,22 +6,22 @@
+ # Baris Cicek <baris at teamforce.name.tr>, 2004, 2005, 2008, 2009.
+ # İlker DAĞLI <ilker at ilkerdagli.info>, 2011.
+ # Muhammed EKEN <gnome at m-eken.com>, 2011.
+-# Muhammet Kara <muhammetk at gmail.com>, 2011, 2012, 2014, 2015.
++# Muhammet Kara <muhammetk at gmail.com>, 2011, 2012, 2014, 2015, 2016.
+ #
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: mutter master\n"
+ "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
+ "product=mutter&keywords=I18N+L10N&component=general\n"
+-"POT-Creation-Date: 2015-03-21 23:08+0000\n"
+-"PO-Revision-Date: 2015-03-22 15:57+0200\n"
++"POT-Creation-Date: 2016-05-10 20:26+0000\n"
++"PO-Revision-Date: 2016-05-26 22:25+0300\n"
+ "Last-Translator: Muhammet Kara <muhammetk at gmail.com>\n"
+ "Language-Team: Turkish <gnome-turk at gnome.org>\n"
+ "Language: tr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: Gtranslator 2.91.6\n"
++"X-Generator: Poedit 1.8.6\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:1
+@@ -73,12 +73,10 @@ msgid "Move window one monitor to the right"
+ msgstr "Pencereyi sağdaki monitöre taşı"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:13
+-#| msgid "Move window one workspace up"
+ msgid "Move window one monitor up"
+ msgstr "Pencereyi üstteki monitöre taşı"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:14
+-#| msgid "Move window one workspace down"
+ msgid "Move window one monitor down"
+ msgstr "Pencereyi alttaki monitöre taşı"
+ 
+@@ -99,12 +97,10 @@ msgid "Switch to previous window"
+ msgstr "Önceki pencereye geç"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:19
+-#| msgid "Move between windows of an application immediately"
+ msgid "Switch windows of an application"
+ msgstr "Uygulamanın pencereleri arasında geçiş yap"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:20
+-#| msgid "Move between windows of an application immediately"
+ msgid "Switch to previous window of an application"
+ msgstr "Uygulamanın bir önceki penceresine geç"
+ 
+@@ -125,7 +121,6 @@ msgid "Switch directly to previous window"
+ msgstr "Önceki pencereye doğrudan geç"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:25
+-#| msgid "Move between windows of an application immediately"
+ msgid "Switch windows of an app directly"
+ msgstr "Uygulamanın pencereleri arasında anında geçiş yap"
+ 
+@@ -142,7 +137,6 @@ msgid "Switch directly to previous system control"
+ msgstr "Önceki sistem denetimine doğrudan geç"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:29
+-#| msgid "Hide all normal windows and set focus to the desktop"
+ msgid "Hide all normal windows"
+ msgstr "Tüm normal pencereleri gizle"
+ 
+@@ -163,27 +157,22 @@ msgid "Switch to workspace 4"
+ msgstr "Çalışma alanı 4'e geç"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:34
+-#| msgid "Switch to workspace 1"
+ msgid "Switch to last workspace"
+ msgstr "Son çalışma alanına geç"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:35
+-#| msgid "Move to Workspace _Left"
+ msgid "Move to workspace left"
+ msgstr "Soldaki çalışma alanına taşı"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:36
+-#| msgid "Move to Workspace R_ight"
+ msgid "Move to workspace right"
+ msgstr "Sağdaki çalışma alanına taşı"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:37
+-#| msgid "Move to Workspace _Left"
+ msgid "Move to workspace above"
+ msgstr "Üstteki çalışma alanına taşı"
+ 
+ #: ../data/50-mutter-navigation.xml.in.h:38
+-#| msgid "Move to Workspace _Down"
+ msgid "Move to workspace below"
+ msgstr "Alttaki çalışma alanına taşı"
+ 
+@@ -192,7 +181,6 @@ msgid "System"
+ msgstr "Sistem"
+ 
+ #: ../data/50-mutter-system.xml.in.h:2
+-#| msgid "Show the panel's main menu"
+ msgid "Show the run command prompt"
+ msgstr "Komut çalıştırma istemini göster"
+ 
+@@ -245,14 +233,12 @@ msgid "Resize window"
+ msgstr "Pencereyi yeniden boyutlandır"
+ 
+ #: ../data/50-mutter-windows.xml.in.h:12
+-#| msgid "Toggle whether window is on all workspaces or just one"
+ msgid "Toggle window on all workspaces or one"
+ msgstr ""
+ "Pencerenin tüm çalışma alanlarında veya sadece bir tanesi üzerinde olmasını "
+ "seç"
+ 
+ #: ../data/50-mutter-windows.xml.in.h:13
+-#| msgid "Raise window if it's covered by another window, otherwise lower it"
+ msgid "Raise window if covered, otherwise lower it"
+ msgstr ""
+ "Pencere eğer başkası tarafından kapatılmışsa yukarı çıkar, yoksa aşağıya it"
+@@ -374,11 +360,6 @@ msgid "Delay focus changes until the pointer stops moving"
+ msgstr "Odak değişikliklerini işaretçi hareketi durana kadar ertele"
+ 
+ #: ../data/org.gnome.mutter.gschema.xml.in.h:14
+-#| msgid ""
+-#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
+-#| "the focused window will be automatically raised after a delay specified "
+-#| "by the auto_raise_delay key. This is not related to clicking on a window "
+-#| "to raise it, nor to entering a window during drag-and-drop."
+ msgid ""
+ "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
+ "the focus will not be changed immediately when entering a window, but only "
+@@ -433,81 +414,69 @@ msgid "Cancel tab popup"
+ msgstr "Sekmeyi yeni pencerede açmayı iptal et"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
+-#| msgid "Switch to workspace 1"
+ msgid "Switch to VT 1"
+ msgstr "VT 1'e geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
+-#| msgid "Switch to workspace 2"
+ msgid "Switch to VT 2"
+ msgstr "VT 2'ye geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
+-#| msgid "Switch to workspace 3"
+ msgid "Switch to VT 3"
+ msgstr "VT 3'e geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
+-#| msgid "Switch to workspace 4"
+ msgid "Switch to VT 4"
+ msgstr "VT 4'e geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
+-#| msgid "Switch to workspace 5"
+ msgid "Switch to VT 5"
+ msgstr "VT 5'e geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
+-#| msgid "Switch to workspace 6"
+ msgid "Switch to VT 6"
+ msgstr "VT 6'ya geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
+-#| msgid "Switch to workspace 7"
+ msgid "Switch to VT 7"
+ msgstr "VT 7'ye geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
+-#| msgid "Switch to workspace 1"
+ msgid "Switch to VT 8"
+ msgstr "VT 8'e geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
+-#| msgid "Switch to workspace 1"
+ msgid "Switch to VT 9"
+ msgstr "VT 9'a geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
+-#| msgid "Switch to workspace 1"
+ msgid "Switch to VT 10"
+ msgstr "VT 10'a geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
+-#| msgid "Switch to workspace 1"
+ msgid "Switch to VT 11"
+ msgstr "VT 11'e geç"
+ 
+ #: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
+-#| msgid "Switch to workspace 1"
+ msgid "Switch to VT 12"
+ msgstr "VT 12'ye geç"
+ 
+-#: ../src/backends/meta-monitor-manager.c:364
++#: ../src/backends/meta-monitor-manager.c:515
+ msgid "Built-in display"
+ msgstr "Yerleşik ekran"
+ 
+-#: ../src/backends/meta-monitor-manager.c:391
++#: ../src/backends/meta-monitor-manager.c:538
+ msgid "Unknown"
+ msgstr "Bilinmiyor"
+ 
+-#: ../src/backends/meta-monitor-manager.c:393
++#: ../src/backends/meta-monitor-manager.c:540
+ msgid "Unknown Display"
+ msgstr "Bilinmeyen Ekran"
+ 
+ #. TRANSLATORS: this is a monitor vendor name, followed by a
+ #. * size in inches, like 'Dell 15"'
+ #.
+-#: ../src/backends/meta-monitor-manager.c:401
++#: ../src/backends/meta-monitor-manager.c:548
+ #, c-format
+ msgid "%s %s"
+ msgstr "%s %s"
+@@ -523,7 +492,7 @@ msgstr ""
+ "\"%2$s\" monitöründeki %1$i ekranında zaten başka bir birleştirme yöneticisi "
+ "çalışıyor."
+ 
+-#: ../src/core/bell.c:185
++#: ../src/core/bell.c:194
+ msgid "Bell event"
+ msgstr "Etkinlik zili"
+ 
+@@ -552,40 +521,44 @@ msgstr "_Bekle"
+ msgid "_Force Quit"
+ msgstr "_Sonlandır"
+ 
+-#: ../src/core/display.c:562
++#: ../src/core/display.c:555
+ #, c-format
+ msgid "Failed to open X Window System display '%s'\n"
+ msgstr "X Pencere Sistemi '%s' ekranı açılamadı\n"
+ 
+-#: ../src/core/main.c:176
++#: ../src/core/main.c:181
+ msgid "Disable connection to session manager"
+ msgstr "Ortam yöneticisine olan bağlantıyı kapat"
+ 
+-#: ../src/core/main.c:182
++#: ../src/core/main.c:187
+ msgid "Replace the running window manager"
+ msgstr "Çalışan pencere yöneticisinin yerini al"
+ 
+-#: ../src/core/main.c:188
++#: ../src/core/main.c:193
+ msgid "Specify session management ID"
+ msgstr "Ortam yönetim ID'sini belirtin"
+ 
+-#: ../src/core/main.c:193
++#: ../src/core/main.c:198
+ msgid "X Display to use"
+ msgstr "Kullanılacak X Ekranı"
+ 
+-#: ../src/core/main.c:199
++#: ../src/core/main.c:204
+ msgid "Initialize session from savefile"
+ msgstr "Ortamı kayıtlı dosyadan başlat"
+ 
+-#: ../src/core/main.c:205
++#: ../src/core/main.c:210
+ msgid "Make X calls synchronous"
+ msgstr "X çağrılarını eşazamanlı yap"
+ 
+-#: ../src/core/main.c:212
++#: ../src/core/main.c:217
+ msgid "Run as a wayland compositor"
+ msgstr "Bir wayland dizgicisi olarak çalıştır"
+ 
+-#: ../src/core/main.c:220
++#: ../src/core/main.c:223
++msgid "Run as a nested compositor"
++msgstr "Yuvalanmış dizgici olarak çalıştır"
++
++#: ../src/core/main.c:231
+ msgid "Run as a full display server, rather than nested"
+ msgstr "İç içe değil tam ekran sunucusu olarak çalıştır"
+ 
+@@ -611,16 +584,13 @@ msgstr "Sürümü yazdır"
+ msgid "Mutter plugin to use"
+ msgstr "Kullanılacak Mutter eklentisi"
+ 
+-#: ../src/core/prefs.c:2004
++#: ../src/core/prefs.c:1997
+ #, c-format
+ msgid "Workspace %d"
+ msgstr "Çalışma Alanı %d"
+ 
+-#: ../src/core/screen.c:525
++#: ../src/core/screen.c:521
+ #, c-format
+-#| msgid ""
+-#| "Screen %d on display \"%s\" already has a window manager; try using the --"
+-#| "replace option to replace the current window manager.\n"
+ msgid ""
+ "Display \"%s\" already has a window manager; try using the --replace option "
+ "to replace the current window manager."
+@@ -629,12 +599,12 @@ msgstr ""
+ "yöneticisinin yerine bir başkasını koymak için --replace seçeneğini "
+ "kullanmayı deneyin."
+ 
+-#: ../src/core/screen.c:607
++#: ../src/core/screen.c:603
+ #, c-format
+ msgid "Screen %d on display '%s' is invalid\n"
+ msgstr "'%2$s' X oturumundaki ekran %1$d geçersiz\n"
+ 
+-#: ../src/core/util.c:118
++#: ../src/core/util.c:121
+ msgid "Mutter was compiled without support for verbose mode\n"
+ msgstr "Mutter, ayrıntılı kip desteği olmadan derlenmiş\n"
+ 
+-- 
+2.8.1
+

Modified: desktop/unstable/mutter/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/series?rev=49162&op=diff
==============================================================================
--- desktop/unstable/mutter/debian/patches/series	[utf-8] (original)
+++ desktop/unstable/mutter/debian/patches/series	[utf-8] Fri Jun 24 18:22:49 2016
@@ -1,2 +1,11 @@
+wayland-don-t-send-notify-when-window-is-being-unman.patch
+wayland-outputs-Refactor-event-sending-to-ensure-we-.patch
+Updated-Norwegian-bokm-l-translation.patch
+Updated-Turkish-translation.patch
+window-Don-t-create-invalid-UTF-8-window-description.patch
+x11-window-props-Convert-WM_NAME-and-WM_CLASS-to-UTF.patch
+wayland-surface-UTF-8-validate-title-class-and-app-I.patch
+wayland-Implement-force-quit-using-kill.patch
+
 01_Wcast-align.patch
 wayland-add-extended-state-for-tiled.patch

Added: desktop/unstable/mutter/debian/patches/wayland-Implement-force-quit-using-kill.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/wayland-Implement-force-quit-using-kill.patch?rev=49162&op=file
==============================================================================
--- desktop/unstable/mutter/debian/patches/wayland-Implement-force-quit-using-kill.patch	(added)
+++ desktop/unstable/mutter/debian/patches/wayland-Implement-force-quit-using-kill.patch	[utf-8] Fri Jun 24 18:22:49 2016
@@ -0,0 +1,62 @@
+From e75d9a5237e325a1419c01c2cd294f2fbeac2fc4 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan at redhat.com>
+Date: Fri, 10 Jun 2016 09:21:21 +0200
+Subject: [PATCH 8/8] wayland: Implement force-quit using kill()
+
+The X11 backend uses EWMH's _NET_WM_PID to get the PID of an offending
+client and kill its PID to force the client to terminate.
+
+The Wayland backend is using a Wayland protocol error, but if the client
+is hung, that will not be sufficient to kill the client.
+
+Retrieve the client PID under Wayland using the Wayland client API
+wl_client_get_credentials() and kill() the client the same way the X11
+backend does.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=767464
+Origin: upstream, 3.20.3
+---
+ src/wayland/meta-window-wayland.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c
+index 817e498..b360f91 100644
+--- a/src/wayland/meta-window-wayland.c
++++ b/src/wayland/meta-window-wayland.c
+@@ -27,6 +27,8 @@
+ #include "meta-window-wayland.h"
+ 
+ #include <meta/errors.h>
++#include <errno.h>
++#include <string.h> /* for strerror () */
+ #include "window-private.h"
+ #include "boxes-private.h"
+ #include "stack-tracker.h"
+@@ -109,6 +111,24 @@ meta_window_wayland_kill (MetaWindow *window)
+ {
+   MetaWaylandSurface *surface = window->surface;
+   struct wl_resource *resource = surface->resource;
++  pid_t pid;
++  uid_t uid;
++  gid_t gid;
++
++  wl_client_get_credentials (wl_resource_get_client (resource), &pid, &uid, &gid);
++  if (pid > 0)
++    {
++      meta_topic (META_DEBUG_WINDOW_OPS,
++                  "Killing %s with kill()\n",
++                  window->desc);
++
++      if (kill (pid, 9) == 0)
++        return;
++
++      meta_topic (META_DEBUG_WINDOW_OPS,
++                  "Failed to signal %s: %s\n",
++                  window->desc, strerror (errno));
++    }
+ 
+   /* Send the client an unrecoverable error to kill the client. */
+   wl_resource_post_error (resource,
+-- 
+2.8.1
+

Added: desktop/unstable/mutter/debian/patches/wayland-don-t-send-notify-when-window-is-being-unman.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/wayland-don-t-send-notify-when-window-is-being-unman.patch?rev=49162&op=file
==============================================================================
--- desktop/unstable/mutter/debian/patches/wayland-don-t-send-notify-when-window-is-being-unman.patch	(added)
+++ desktop/unstable/mutter/debian/patches/wayland-don-t-send-notify-when-window-is-being-unman.patch	[utf-8] Fri Jun 24 18:22:49 2016
@@ -0,0 +1,81 @@
+From dc257ee1c1579c5de289297c8896a9687fd1b70d Mon Sep 17 00:00:00 2001
+From: Marek Chalupa <mchqwerty at gmail.com>
+Date: Thu, 17 Mar 2016 14:52:46 +0100
+Subject: [PATCH 1/8] wayland: don't send notify when window is being unmanaged
+
+If we try to send notify event (either from surface_state_changed()
+or from meta_window_wayland_move_resize_internal()),
+we will crash, because we don't have a sufrace anymore.
+There's no reason why to resize the window that is being
+unmanaged anyway.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=751847
+Origin: upstream, 3.20.3
+---
+ src/core/window.c                 |  3 +--
+ src/wayland/meta-window-wayland.c | 14 ++++++++------
+ 2 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/src/core/window.c b/src/core/window.c
+index bc481dc..462fd41 100644
+--- a/src/core/window.c
++++ b/src/core/window.c
+@@ -1259,6 +1259,7 @@ meta_window_unmanage (MetaWindow  *window,
+   GList *tmp;
+ 
+   meta_verbose ("Unmanaging %s\n", window->desc);
++  window->unmanaging = TRUE;
+ 
+ #ifdef HAVE_WAYLAND
+   /* This needs to happen for both Wayland and XWayland clients,
+@@ -1286,8 +1287,6 @@ meta_window_unmanage (MetaWindow  *window,
+ 
+   meta_display_unregister_stamp (window->display, window->stamp);
+ 
+-  window->unmanaging = TRUE;
+-
+   if (meta_prefs_get_attach_modal_dialogs ())
+     {
+       GList *attached_children = NULL, *iter;
+diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c
+index f38e4b9..817e498 100644
+--- a/src/wayland/meta-window-wayland.c
++++ b/src/wayland/meta-window-wayland.c
+@@ -131,6 +131,10 @@ surface_state_changed (MetaWindow *window)
+ {
+   MetaWindowWayland *wl_window = META_WINDOW_WAYLAND (window);
+ 
++  /* don't send notify when the window is being unmanaged */
++  if (window->unmanaging)
++    return;
++
+   meta_wayland_surface_configure_notify (window->surface,
+                                          wl_window->last_sent_width,
+                                          wl_window->last_sent_height,
+@@ -173,6 +177,10 @@ meta_window_wayland_move_resize_internal (MetaWindow                *window,
+ 
+   g_assert (window->frame == NULL);
+ 
++  /* don't do anything if we're dropping the window, see #751847 */
++  if (window->unmanaging)
++    return;
++
+   /* The scale the window is drawn in might change depending on what monitor it
+    * is mainly on. Scale the configured rectangle to be in logical pixel
+    * coordinate space so that we can have a scale independent size to pass
+@@ -403,12 +411,6 @@ appears_focused_changed (GObject    *object,
+                          gpointer    user_data)
+ {
+   MetaWindow *window = META_WINDOW (object);
+-
+-  /* When we're unmanaging, we remove focus from the window,
+-   * causing this to fire. Don't do anything in that case. */
+-  if (window->unmanaging)
+-    return;
+-
+   surface_state_changed (window);
+ }
+ 
+-- 
+2.8.1
+

Added: desktop/unstable/mutter/debian/patches/wayland-outputs-Refactor-event-sending-to-ensure-we-.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/wayland-outputs-Refactor-event-sending-to-ensure-we-.patch?rev=49162&op=file
==============================================================================
--- desktop/unstable/mutter/debian/patches/wayland-outputs-Refactor-event-sending-to-ensure-we-.patch	(added)
+++ desktop/unstable/mutter/debian/patches/wayland-outputs-Refactor-event-sending-to-ensure-we-.patch	[utf-8] Fri Jun 24 18:22:49 2016
@@ -0,0 +1,266 @@
+From 16e2953c6ffacf80be48345766327d72e5475928 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Mon, 16 May 2016 20:28:14 +0200
+Subject: [PATCH 2/8] wayland-outputs: Refactor event sending to ensure we're
+ consistent
+
+This makes us behave the same both on bind and when an output
+changes. In particular, we were not sending scale and done events on
+output changes. We were also unconditionally sending mode events on
+output changes even though these should only be sent if there is an
+actual mode change.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=766528
+Origin: upstream, 3.20.3
+---
+ src/wayland/meta-wayland-outputs.c | 161 +++++++++++++++++++++----------------
+ src/wayland/meta-wayland-outputs.h |   5 +-
+ 2 files changed, 96 insertions(+), 70 deletions(-)
+
+diff --git a/src/wayland/meta-wayland-outputs.c b/src/wayland/meta-wayland-outputs.c
+index df19949..70f47d9 100644
+--- a/src/wayland/meta-wayland-outputs.c
++++ b/src/wayland/meta-wayland-outputs.c
+@@ -53,6 +53,80 @@ output_resource_destroy (struct wl_resource *res)
+   wayland_output->resources = g_list_remove (wayland_output->resources, res);
+ }
+ 
++static inline enum wl_output_transform
++wl_output_transform_from_meta_monitor_transform (MetaMonitorTransform transform)
++{
++  /* The enums are the same. */
++  return (enum wl_output_transform) transform;
++}
++
++static void
++send_output_events (struct wl_resource *resource,
++                    MetaWaylandOutput  *wayland_output,
++                    MetaMonitorInfo    *monitor_info,
++                    gboolean            need_all_events)
++{
++  int version = wl_resource_get_version (resource);
++
++  MetaOutput *output = monitor_info->outputs[0];
++  enum wl_output_transform transform = wl_output_transform_from_meta_monitor_transform (output->crtc->transform);
++  guint mode_flags = WL_OUTPUT_MODE_CURRENT;
++
++  MetaMonitorInfo *old_monitor_info = wayland_output->monitor_info;
++  enum wl_output_transform old_transform = wayland_output->transform;
++  guint old_mode_flags = wayland_output->mode_flags;
++  gint old_scale = wayland_output->scale;
++
++  gboolean need_done = FALSE;
++
++  if (need_all_events ||
++      old_monitor_info->rect.x != monitor_info->rect.x ||
++      old_monitor_info->rect.y != monitor_info->rect.y ||
++      old_transform != transform)
++    {
++      wl_output_send_geometry (resource,
++                               (int)monitor_info->rect.x,
++                               (int)monitor_info->rect.y,
++                               monitor_info->width_mm,
++                               monitor_info->height_mm,
++                               output->subpixel_order,
++                               output->vendor,
++                               output->product,
++                               transform);
++      need_done = TRUE;
++    }
++
++  if (output->crtc->current_mode == output->preferred_mode)
++    mode_flags |= WL_OUTPUT_MODE_PREFERRED;
++
++  if (need_all_events ||
++      old_monitor_info->rect.width != monitor_info->rect.width ||
++      old_monitor_info->rect.height != monitor_info->rect.height ||
++      old_monitor_info->refresh_rate != monitor_info->refresh_rate ||
++      old_mode_flags != mode_flags)
++    {
++      wl_output_send_mode (resource,
++                           mode_flags,
++                           (int)monitor_info->rect.width,
++                           (int)monitor_info->rect.height,
++                           (int)(monitor_info->refresh_rate * 1000));
++      need_done = TRUE;
++    }
++
++  if (version >= WL_OUTPUT_SCALE_SINCE_VERSION)
++    {
++      if (need_all_events ||
++          old_scale != output->scale)
++        {
++          wl_output_send_scale (resource, output->scale);
++          need_done = TRUE;
++        }
++
++      if (need_done)
++        wl_output_send_done (resource);
++    }
++}
++
+ static void
+ bind_output (struct wl_client *client,
+              void *data,
+@@ -62,7 +136,6 @@ bind_output (struct wl_client *client,
+   MetaWaylandOutput *wayland_output = data;
+   MetaMonitorInfo *monitor_info = wayland_output->monitor_info;
+   struct wl_resource *resource;
+-  guint mode_flags;
+   MetaOutput *output = monitor_info->outputs[0];
+ 
+   resource = wl_resource_create (client, &wl_output_interface, version, id);
+@@ -77,35 +150,7 @@ bind_output (struct wl_client *client,
+                 monitor_info->rect.width, monitor_info->rect.height,
+                 monitor_info->refresh_rate);
+ 
+-  wl_output_send_geometry (resource,
+-                           (int)monitor_info->rect.x,
+-                           (int)monitor_info->rect.y,
+-                           monitor_info->width_mm,
+-                           monitor_info->height_mm,
+-                           /* Cogl values reflect XRandR values,
+-                              and so does wayland */
+-                           output->subpixel_order,
+-                           output->vendor,
+-                           output->product,
+-                           output->crtc->transform);
+-
+-  g_assert (output->crtc->current_mode != NULL);
+-
+-  mode_flags = WL_OUTPUT_MODE_CURRENT;
+-  if (output->crtc->current_mode == output->preferred_mode)
+-    mode_flags |= WL_OUTPUT_MODE_PREFERRED;
+-
+-  wl_output_send_mode (resource,
+-                       mode_flags,
+-                       (int)monitor_info->rect.width,
+-                       (int)monitor_info->rect.height,
+-                       (int)(monitor_info->refresh_rate * 1000));
+-
+-  if (version >= WL_OUTPUT_SCALE_SINCE_VERSION)
+-    wl_output_send_scale (resource, output->scale);
+-
+-  if (version >= WL_OUTPUT_DONE_SINCE_VERSION)
+-    wl_output_send_done (resource);
++  send_output_events (resource, wayland_output, monitor_info, TRUE);
+ }
+ 
+ static void
+@@ -117,11 +162,19 @@ wayland_output_destroy_notify (gpointer data)
+   g_object_unref (wayland_output);
+ }
+ 
+-static inline enum wl_output_transform
+-wl_output_transform_from_meta_monitor_transform (MetaMonitorTransform transform)
++static void
++wayland_output_set_monitor_info (MetaWaylandOutput *wayland_output,
++                                 MetaMonitorInfo   *monitor_info)
+ {
+-  /* The enums are the same. */
+-  return (enum wl_output_transform) transform;
++  MetaOutput *output = monitor_info->outputs[0];
++  enum wl_output_transform transform = wl_output_transform_from_meta_monitor_transform (output->crtc->transform);
++
++  wayland_output->monitor_info = monitor_info;
++  wayland_output->transform = transform;
++  wayland_output->mode_flags = WL_OUTPUT_MODE_CURRENT;
++  if (output->crtc->current_mode == output->preferred_mode)
++    wayland_output->mode_flags |= WL_OUTPUT_MODE_PREFERRED;
++  wayland_output->scale = output->scale;
+ }
+ 
+ static void
+@@ -129,50 +182,21 @@ wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
+                                   MetaMonitorInfo *monitor_info)
+ {
+   GList *iter;
+-  guint mode_flags;
+-  MetaOutput *output = monitor_info->outputs[0];
+-  enum wl_output_transform wl_transform = wl_output_transform_from_meta_monitor_transform (output->crtc->transform);
+-
+-  mode_flags = WL_OUTPUT_MODE_CURRENT;
+-  if (output->crtc->current_mode == output->preferred_mode)
+-    mode_flags |= WL_OUTPUT_MODE_PREFERRED;
+ 
+   for (iter = wayland_output->resources; iter; iter = iter->next)
+     {
+       struct wl_resource *resource = iter->data;
+-
+-      if (wayland_output->x != monitor_info->rect.x ||
+-          wayland_output->y != monitor_info->rect.y ||
+-          wayland_output->transform != wl_transform)
+-        {
+-          wl_output_send_geometry (resource,
+-                                   (int)monitor_info->rect.x,
+-                                   (int)monitor_info->rect.y,
+-                                   monitor_info->width_mm,
+-                                   monitor_info->height_mm,
+-                                   output->subpixel_order,
+-                                   output->vendor,
+-                                   output->product,
+-                                   wl_transform);
+-        }
+-
+-      wl_output_send_mode (resource,
+-                           mode_flags,
+-                           (int)monitor_info->rect.width,
+-                           (int)monitor_info->rect.height,
+-                           (int)(monitor_info->refresh_rate * 1000));
++      send_output_events (resource, wayland_output, monitor_info, FALSE);
+     }
+ 
+   /* It's very important that we change the output pointer here, as
+      the old structure is about to be freed by MetaMonitorManager */
+-  wayland_output->monitor_info = monitor_info;
+-  wayland_output->x = monitor_info->rect.x;
+-  wayland_output->y = monitor_info->rect.y;
+-  wayland_output->transform = wl_transform;
++  wayland_output_set_monitor_info (wayland_output, monitor_info);
+ }
+ 
+ static MetaWaylandOutput *
+-meta_wayland_output_new (MetaWaylandCompositor *compositor)
++meta_wayland_output_new (MetaWaylandCompositor *compositor,
++                         MetaMonitorInfo *monitor_info)
+ {
+   MetaWaylandOutput *wayland_output;
+ 
+@@ -181,6 +205,7 @@ meta_wayland_output_new (MetaWaylandCompositor *compositor)
+                                              &wl_output_interface,
+                                              META_WL_OUTPUT_VERSION,
+                                              wayland_output, bind_output);
++  wayland_output_set_monitor_info (wayland_output, monitor_info);
+ 
+   return wayland_output;
+ }
+@@ -211,7 +236,7 @@ meta_wayland_compositor_update_outputs (MetaWaylandCompositor *compositor,
+           g_hash_table_steal (compositor->outputs, GSIZE_TO_POINTER (info->winsys_id));
+         }
+       else
+-        wayland_output = meta_wayland_output_new (compositor);
++        wayland_output = meta_wayland_output_new (compositor, info);
+ 
+       wayland_output_update_for_output (wayland_output, info);
+       g_hash_table_insert (new_table, GSIZE_TO_POINTER (info->winsys_id), wayland_output);
+diff --git a/src/wayland/meta-wayland-outputs.h b/src/wayland/meta-wayland-outputs.h
+index 2c0f28d..e22b541 100644
+--- a/src/wayland/meta-wayland-outputs.h
++++ b/src/wayland/meta-wayland-outputs.h
+@@ -41,10 +41,11 @@ struct _MetaWaylandOutput
+ {
+   GObject                   parent;
+ 
+-  MetaMonitorInfo          *monitor_info;
+   struct wl_global         *global;
+-  int                       x, y;
++  MetaMonitorInfo          *monitor_info;
+   enum wl_output_transform  transform;
++  guint                     mode_flags;
++  gint                      scale;
+ 
+   GList                    *resources;
+ };
+-- 
+2.8.1
+

Added: desktop/unstable/mutter/debian/patches/wayland-surface-UTF-8-validate-title-class-and-app-I.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/wayland-surface-UTF-8-validate-title-class-and-app-I.patch?rev=49162&op=file
==============================================================================
--- desktop/unstable/mutter/debian/patches/wayland-surface-UTF-8-validate-title-class-and-app-I.patch	(added)
+++ desktop/unstable/mutter/debian/patches/wayland-surface-UTF-8-validate-title-class-and-app-I.patch	[utf-8] Fri Jun 24 18:22:49 2016
@@ -0,0 +1,61 @@
+From aa65fc8b85909dc482069d6dcb20a9dc28b85f97 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Tue, 7 Jun 2016 16:17:28 +0200
+Subject: [PATCH 7/8] wayland-surface: UTF-8 validate title, class and app ID
+ strings
+
+The protocol says these must be UTF-8 so let's ensure they are.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=752788
+Origin: upstream, 3.20.3
+---
+ src/wayland/meta-wayland-surface.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
+index 4699cfd..9ca6d04 100644
+--- a/src/wayland/meta-wayland-surface.c
++++ b/src/wayland/meta-wayland-surface.c
+@@ -1338,6 +1338,9 @@ xdg_surface_set_title (struct wl_client *client,
+ {
+   MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
+ 
++  if (!g_utf8_validate (title, -1, NULL))
++    title = "";
++
+   meta_window_set_title (surface->window, title);
+ }
+ 
+@@ -1348,6 +1351,9 @@ xdg_surface_set_app_id (struct wl_client *client,
+ {
+   MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
+ 
++  if (!g_utf8_validate (app_id, -1, NULL))
++    app_id = "";
++
+   meta_window_set_wm_class (surface->window, app_id, app_id);
+ }
+ 
+@@ -1964,6 +1970,9 @@ wl_shell_surface_set_title (struct wl_client *client,
+ {
+   MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
+ 
++  if (!g_utf8_validate (title, -1, NULL))
++    title = "";
++
+   meta_window_set_title (surface->window, title);
+ }
+ 
+@@ -1974,6 +1983,9 @@ wl_shell_surface_set_class (struct wl_client *client,
+ {
+   MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
+ 
++  if (!g_utf8_validate (class_, -1, NULL))
++    class_ = "";
++
+   meta_window_set_wm_class (surface->window, class_, class_);
+ }
+ 
+-- 
+2.8.1
+

Added: desktop/unstable/mutter/debian/patches/window-Don-t-create-invalid-UTF-8-window-description.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/window-Don-t-create-invalid-UTF-8-window-description.patch?rev=49162&op=file
==============================================================================
--- desktop/unstable/mutter/debian/patches/window-Don-t-create-invalid-UTF-8-window-description.patch	(added)
+++ desktop/unstable/mutter/debian/patches/window-Don-t-create-invalid-UTF-8-window-description.patch	[utf-8] Fri Jun 24 18:22:49 2016
@@ -0,0 +1,55 @@
+From 0b4cd7ed9272494fdd1ec5d7a051221a2b172af9 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Tue, 7 Jun 2016 16:11:05 +0200
+Subject: [PATCH 5/8] window: Don't create invalid UTF-8 window description
+ strings
+
+printf string precision counts bytes so we may end up creating invalid
+UTF-8 strings here. Instead, use glib's unicode aware methods to clip
+the title.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=765535
+Origin: upstream, 3.20.3
+---
+ src/core/window.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/src/core/window.c b/src/core/window.c
+index 462fd41..4dff32b 100644
+--- a/src/core/window.c
++++ b/src/core/window.c
+@@ -761,12 +761,18 @@ sync_client_window_mapped (MetaWindow *window)
+ static void
+ meta_window_update_desc (MetaWindow *window)
+ {
++  g_autofree gchar *title = NULL;
++
+   g_clear_pointer (&window->desc, g_free);
+ 
++  if (window->title)
++    title = g_utf8_substring (window->title, 0,
++                              MIN (10, g_utf8_strlen (window->title, -1)));
++
+   if (window->client_type == META_WINDOW_CLIENT_TYPE_X11)
+     {
+-      if (window->title)
+-        window->desc = g_strdup_printf ("0x%lx (%.10s)", window->xwindow, window->title);
++      if (title)
++        window->desc = g_strdup_printf ("0x%lx (%s)", window->xwindow, title);
+       else
+         window->desc = g_strdup_printf ("0x%lx", window->xwindow);
+     }
+@@ -774,8 +780,8 @@ meta_window_update_desc (MetaWindow *window)
+     {
+       guint64 small_stamp = window->stamp - G_GUINT64_CONSTANT(0x100000000);
+ 
+-      if (window->title)
+-        window->desc = g_strdup_printf ("W%" G_GUINT64_FORMAT " (%.10s)", small_stamp, window->title);
++      if (title)
++        window->desc = g_strdup_printf ("W%" G_GUINT64_FORMAT " (%s)", small_stamp, title);
+       else
+         window->desc = g_strdup_printf ("W%" G_GUINT64_FORMAT , small_stamp);
+     }
+-- 
+2.8.1
+

Added: desktop/unstable/mutter/debian/patches/x11-window-props-Convert-WM_NAME-and-WM_CLASS-to-UTF.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/mutter/debian/patches/x11-window-props-Convert-WM_NAME-and-WM_CLASS-to-UTF.patch?rev=49162&op=file
==============================================================================
--- desktop/unstable/mutter/debian/patches/x11-window-props-Convert-WM_NAME-and-WM_CLASS-to-UTF.patch	(added)
+++ desktop/unstable/mutter/debian/patches/x11-window-props-Convert-WM_NAME-and-WM_CLASS-to-UTF.patch	[utf-8] Fri Jun 24 18:22:49 2016
@@ -0,0 +1,54 @@
+From a15f33ac9c71b133410fc0c19aaaf09a0da81301 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Tue, 22 Mar 2016 20:30:43 +0100
+Subject: [PATCH 6/8] x11/window-props: Convert WM_NAME and WM_CLASS to UTF-8
+
+gjs throws exceptions on non UTF-8 strings which, in some cases, crash
+gnome-shell. ICCCM string properties are defined to be Latin-1 encoded
+so we can try to convert them to avoid it.
+
+Note that _NET_WM_NAME is defined to be UTF-8 and we already validate
+it in utf8_string_from_results() .
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=752788
+Origin: upstream, 3.20.3
+---
+ src/x11/window-props.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/src/x11/window-props.c b/src/x11/window-props.c
+index 0a67980..85c03c5 100644
+--- a/src/x11/window-props.c
++++ b/src/x11/window-props.c
+@@ -635,7 +635,10 @@ reload_wm_name (MetaWindow    *window,
+ 
+   if (value->type != META_PROP_VALUE_INVALID)
+     {
+-      set_window_title (window, value->v.str);
++      g_autofree gchar *title = g_convert (value->v.str, -1,
++                                           "UTF-8", "LATIN1",
++                                           NULL, NULL, NULL);
++      set_window_title (window, title);
+ 
+       meta_verbose ("Using WM_NAME for new title of %s: \"%s\"\n",
+                     window->desc, window->title);
+@@ -969,9 +972,13 @@ reload_wm_class (MetaWindow    *window,
+ {
+   if (value->type != META_PROP_VALUE_INVALID)
+     {
+-      meta_window_set_wm_class (window,
+-                                value->v.class_hint.res_class,
+-                                value->v.class_hint.res_name);
++      g_autofree gchar *res_class = g_convert (value->v.class_hint.res_class, -1,
++                                               "UTF-8", "LATIN1",
++                                               NULL, NULL, NULL);
++      g_autofree gchar *res_name = g_convert (value->v.class_hint.res_name, -1,
++                                              "UTF-8", "LATIN1",
++                                              NULL, NULL, NULL);
++      meta_window_set_wm_class (window, res_class, res_name);
+     }
+   else
+     {
+-- 
+2.8.1
+




More information about the pkg-gnome-commits mailing list