[Pkg-xfce-commits] [Git][xfce-team/desktop/xfwm4][upstream/latest] New upstream version 4.14.6

Yves-Alexis Perez gitlab at salsa.debian.org
Sun Nov 1 14:54:08 GMT 2020



Yves-Alexis Perez pushed to branch upstream/latest at xfce / desktop / xfwm4


Commits:
afc1994b by Yves-Alexis Perez at 2020-11-01T15:43:21+01:00
New upstream version 4.14.6
- - - - -


18 changed files:

- ChangeLog
- NEWS
- configure
- configure.ac
- po/da.po
- po/es.po
- po/et.po
- po/he.po
- po/lt.po
- po/oc.po
- po/ug.po
- src/client.c
- src/compositor.c
- src/display.c
- src/frame.c
- src/mypixmap.c
- src/mywindow.c
- src/netwm.c


Changes:

=====================================
ChangeLog
=====================================
@@ -1,3 +1,146 @@
+commit 84562d96ea12e44eb02d41ae143caea3b35344ec
+Author: Olivier Fourdan <fourdan at xfce.org>
+Date:   Sun Nov 1 15:11:12 2020 +0100
+
+    Release 4.14.6!
+    
+    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
+
+commit 659fd0dd23aeca5c44fa6cb7fea60f49d2f91623
+Author: Olivier Fourdan <fourdan at xfce.org>
+Date:   Sun Oct 11 20:59:24 2020 +0200
+
+    Yet more XError traps
+    
+    Signed-off-by Olivier Fourdan <fourdan at xfce.org>
+    https://gitlab.xfce.org/xfce/xfwm4/-/issues/444
+    https://gitlab.xfce.org/xfce/xfwm4/-/issues/436
+    https://gitlab.xfce.org/xfce/xfwm4/-/issues/433
+    https://gitlab.xfce.org/xfce/xfwm4/-/issues/405
+    
+    (cherry picked from commit 083e6de029753c73a9c3b6cbd4685d6815cedddb)
+
+commit 328ced8e09185bc6faaf82f68b4295bbc92e1db7
+Author: Olivier Fourdan <fourdan at xfce.org>
+Date:   Sat Sep 19 17:00:21 2020 +0200
+
+    More XErrors traps
+    
+    Previously we would leak error traps in free_win_data() causing
+    slowdowns overtime as the list of requests grows.
+    
+    While fixing the leak is crucial, it also unveiled several places where
+    actual error traps are missing, causing xfwm4 to abort more often.
+    
+    Based on XErrors reported, the issue is triggered when freeing pixmaps
+    or render pictures.
+    
+    Add more XErrors traps to catch those errors.
+    
+    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
+    https://gitlab.xfce.org/xfce/xfwm4/-/issues/433
+    https://gitlab.xfce.org/xfce/xfwm4/-/issues/435
+    https://gitlab.xfce.org/xfce/xfwm4/-/issues/436
+    (cherry picked from commit 3119b50bc426c58a6891317c688e55c71f7d6c91)
+
+commit ad7c1eaf1ea0b5b8504552fc16a811301fb8ca18
+Author: Xfce Bot <transifex at xfce.org>
+Date:   Fri Oct 16 18:54:37 2020 +0200
+
+    I18n: Update translation ug (86%).
+    
+    147 translated messages, 22 untranslated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit ab243fd2fd34bb5f8db71f5444ad75be651a4780
+Author: Anonymous <noreply at xfce.org>
+Date:   Fri Oct 16 18:54:33 2020 +0200
+
+    I18n: Update translation he (100%).
+    
+    169 translated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit 7281eb576547309c07b532bdcc207e9e1216de32
+Author: Anonymous <noreply at xfce.org>
+Date:   Fri Oct 16 18:54:32 2020 +0200
+
+    I18n: Update translation es (100%).
+    
+    169 translated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit 3f917ceb641175f5a11c370c64564999ebb76836
+Author: Anonymous <noreply at xfce.org>
+Date:   Fri Oct 16 18:54:31 2020 +0200
+
+    I18n: Update translation da (100%).
+    
+    169 translated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit b36ce478cd81a3402a0b65b43826ceab2216638f
+Author: Priit Jõerüüt <transifex at joeruut.com>
+Date:   Mon Sep 28 12:53:46 2020 +0200
+
+    I18n: Update translation et (82%).
+    
+    140 translated messages, 29 untranslated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit ce7d5f399d1e756147c6411b5d0b116894c0bcdc
+Author: Priit Jõerüüt <transifex at joeruut.com>
+Date:   Sun Sep 27 00:48:19 2020 +0200
+
+    I18n: Update translation et (82%).
+    
+    139 translated messages, 30 untranslated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit 2e221f7c5cafff83f1e55157bc633a86154238f9
+Author: Anonymous <noreply at xfce.org>
+Date:   Tue Sep 15 00:48:41 2020 +0200
+
+    I18n: Update translation oc (98%).
+    
+    167 translated messages, 2 untranslated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit d65e4aeb4a7175d08d3821b8e4787069a66c8d30
+Author: Priit Jõerüüt <transifex at joeruut.com>
+Date:   Thu Sep 3 00:51:37 2020 +0200
+
+    I18n: Update translation et (73%).
+    
+    125 translated messages, 44 untranslated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit 53e1a5fab521ad23e50d593228e4b917b062fbf7
+Author: Anonymous <noreply at xfce.org>
+Date:   Thu Aug 20 12:55:05 2020 +0200
+
+    I18n: Update translation lt (100%).
+    
+    169 translated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+commit a702ed29533b65f50d3610fc5f4de789cc40cfed
+Author: Olivier Fourdan <fourdan at xfce.org>
+Date:   Sun Aug 9 13:08:55 2020 +0200
+
+    Post release tag bump
+    
+    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
+
 commit d331c9b2018a08dd536d2a23d957e96c3f30706b
 Author: Olivier Fourdan <fourdan at xfce.org>
 Date:   Sun Aug 9 12:54:48 2020 +0200


=====================================
NEWS
=====================================
@@ -1,3 +1,9 @@
+4.14.6
+======
+
+- Add more XErrors traps
+- I18n: Update translations: da, es, et, he, lt, oc, ug
+
 4.14.5
 ======
 


=====================================
configure
=====================================
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xfwm4 4.14.5.
+# Generated by GNU Autoconf 2.69 for xfwm4 4.14.6.
 #
 # Report bugs to <xfce4-dev at xfce.org>.
 #
@@ -595,8 +595,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='xfwm4'
 PACKAGE_TARNAME='xfwm4'
-PACKAGE_VERSION='4.14.5'
-PACKAGE_STRING='xfwm4 4.14.5'
+PACKAGE_VERSION='4.14.6'
+PACKAGE_STRING='xfwm4 4.14.6'
 PACKAGE_BUGREPORT='xfce4-dev at xfce.org'
 PACKAGE_URL=''
 
@@ -1465,7 +1465,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xfwm4 4.14.5 to adapt to many kinds of systems.
+\`configure' configures xfwm4 4.14.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1539,7 +1539,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xfwm4 4.14.5:";;
+     short | recursive ) echo "Configuration of xfwm4 4.14.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1701,7 +1701,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xfwm4 configure 4.14.5
+xfwm4 configure 4.14.6
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2075,7 +2075,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xfwm4 $as_me 4.14.5, which was
+It was created by xfwm4 $as_me 4.14.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2938,7 +2938,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='xfwm4'
- VERSION='4.14.5'
+ VERSION='4.14.6'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -18705,8 +18705,8 @@ $as_echo "minimum" >&6; }
 
 
 REVISION=unknown
-if test x"d331c9b20" != x""; then
-    REVISION=d331c9b20
+if test x"84562d96e" != x""; then
+    REVISION=84562d96e
 fi
 
 cat >>confdefs.h <<_ACEOF
@@ -19271,7 +19271,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xfwm4 $as_me 4.14.5, which was
+This file was extended by xfwm4 $as_me 4.14.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19337,7 +19337,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-xfwm4 config.status 4.14.5
+xfwm4 config.status 4.14.6
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 


=====================================
configure.ac
=====================================
@@ -10,8 +10,8 @@ dnl
 
 m4_define([xfwm4_version_major], [4])
 m4_define([xfwm4_version_minor], [14])
-m4_define([xfwm4_version_micro], [5])
-m4_define([xfwm4_version_build], [d331c9b20])
+m4_define([xfwm4_version_micro], [6])
+m4_define([xfwm4_version_build], [84562d96e])
 m4_define([xfwm4_version_tag],   [])
 m4_define([xfwm4_version], [xfwm4_version_major().xfwm4_version_minor().xfwm4_version_micro()ifelse(xfwm4_version_tag(), [git], [xfwm4_version_tag().xfwm4_version_build()], [xfwm4_version_tag()])])
 
@@ -296,8 +296,8 @@ dnl Check for debugging support
 XDT_FEATURE_DEBUG
 
 REVISION=unknown
-if test x"d331c9b20" != x""; then
-    REVISION=d331c9b20
+if test x"84562d96e" != x""; then
+    REVISION=84562d96e
 fi
 AC_DEFINE_UNQUOTED([REVISION], "$REVISION", [git id])
 AC_SUBST([REVISION])


=====================================
po/da.po
=====================================
@@ -5,7 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <transifex at xfce.org>, 2019
-# scootergrisen, 2019
+# scootergrisen, 2020
 # 
 #, fuzzy
 msgid ""
@@ -14,7 +14,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-10-21 00:37+0200\n"
 "PO-Revision-Date: 2019-10-20 16:44+0000\n"
-"Last-Translator: scootergrisen, 2019\n"
+"Last-Translator: scootergrisen, 2020\n"
 "Language-Team: Danish (https://www.transifex.com/xfce/teams/16840/da/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -690,7 +690,7 @@ msgstr "_Flyt"
 
 #: ../src/menu.c:57
 msgid "_Resize"
-msgstr "Tilpas _størrelse"
+msgstr "_Tilpas størrelse"
 
 #. --------------------------------------------------------
 #: ../src/menu.c:59


=====================================
po/es.po
=====================================
@@ -7,7 +7,7 @@
 # Xfce Bot <transifex at xfce.org>, 2019
 # Franklin David Macias Avellan <franklin.macias864 at gmail.com>, 2019
 # Toni Estévez <toni.estevez at gmail.com>, 2019
-# Francisco <fserrador at gmail.com>, 2019
+# fe91c73fe2c9897af1fde209dc6558aa, 2019
 # 
 #, fuzzy
 msgid ""
@@ -16,7 +16,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-10-21 00:37+0200\n"
 "PO-Revision-Date: 2019-10-20 16:44+0000\n"
-"Last-Translator: Francisco <fserrador at gmail.com>, 2019\n"
+"Last-Translator: fe91c73fe2c9897af1fde209dc6558aa, 2019\n"
 "Language-Team: Spanish (https://www.transifex.com/xfce/teams/16840/es/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"


=====================================
po/et.po
=====================================
@@ -403,27 +403,27 @@ msgstr ""
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:7
 msgid "_Include hidden (i.e. iconified) windows"
-msgstr ""
+msgstr "Kaasaarvatud peidetud (_ikoonideks tehtud) aknad"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:8
 msgid "Cycle _through windows on all workspaces"
-msgstr ""
+msgstr "Lappa läbi kõikide _tööalade akende"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:9
 msgid "_Draw frame around selected window while cycling"
-msgstr ""
+msgstr "Aken_de lappamisel näita raami ümber valitud akna"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:10
 msgid "_Raise windows while cycling"
-msgstr ""
+msgstr "Lappamisel tõs_ta aknaid"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:11
 msgid "Cycle through windows in a _list"
-msgstr ""
+msgstr "Lappa läbi _loendis olevate akende"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:12
 msgid "C_ycling"
-msgstr ""
+msgstr "Akende läbi _lappamine"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:13
 msgid "Activate foc_us stealing prevention"
@@ -431,23 +431,23 @@ msgstr ""
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:14
 msgid "Honor _standard ICCCM focus hint"
-msgstr ""
+msgstr "Arve_sta tavapärase ICCCM fookuse vihjega"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:15
 msgid "When a window raises itself:"
-msgstr ""
+msgstr "Millal aken tõstab iseennast:"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:16
 msgid "_Bring window on current workspace"
-msgstr ""
+msgstr "_Too aken praegusele tööalale"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:17
 msgid "Switch to win_dow's workspace"
-msgstr ""
+msgstr "_Lülita akna tööalale"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:18
 msgid "Do _nothing"
-msgstr ""
+msgstr "Ära tee _midagi"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:20
 msgid "Key used to _grab and move windows:"
@@ -455,7 +455,7 @@ msgstr ""
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:21
 msgid "_Raise windows when any mouse button is pressed"
-msgstr ""
+msgstr "Hii_renupu vajutamisel tõsta aknaid"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:22
 msgid "Hide frame of windows when ma_ximized"
@@ -487,7 +487,7 @@ msgstr ""
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:29
 msgid "_Accessibility"
-msgstr ""
+msgstr "_Hõlbustus"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:30
 msgid "Use the _mouse wheel on the desktop to switch workspaces"
@@ -546,7 +546,7 @@ msgstr ""
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:47
 msgid "Show windows preview in place of icons when cycling"
-msgstr ""
+msgstr "Aken_de lappamisel näita ikooni asemel akna eelvaadet"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:48
 msgid "Show shadows under pop_up windows"
@@ -642,7 +642,7 @@ msgstr ""
 
 #: ../src/main.c:707
 msgid "Replace the existing window manager"
-msgstr ""
+msgstr "Asenda olemasolev aknahaldur"
 
 #: ../src/main.c:708
 msgid "Print version information and exit"
@@ -692,7 +692,7 @@ msgstr "Alat_ti kõige pealmine"
 
 #: ../src/menu.c:60
 msgid "_Same as Other Windows"
-msgstr ""
+msgstr "_Sama kui muudel akendel"
 
 #: ../src/menu.c:61
 msgid "Roll Window Up"
@@ -712,7 +712,7 @@ msgstr "Lülita täisekraanivaade välja"
 
 #: ../src/menu.c:65
 msgid "Context _Help"
-msgstr ""
+msgstr "Kontekstuaalne _abiteave"
 
 #. --------------------------------------------------------
 #: ../src/menu.c:67
@@ -748,7 +748,7 @@ msgstr "%s: 'GtkMenu'-l ebaõnnestus kursori haaramine\n"
 #: ../src/terminate.c:77
 #, c-format
 msgid "Error reading data from child process: %s\n"
-msgstr ""
+msgstr "Viga andmete lugemisel järglasprotsessist: %s\n"
 
 #: ../src/terminate.c:135
 #, c-format


=====================================
po/he.po
=====================================
@@ -5,8 +5,8 @@
 # 
 # Translators:
 # Xfce Bot <transifex at xfce.org>, 2019
-# Elishai Eliyahu <e1907 at mm.st>, 2020
-# Omer, 2020
+# Elishai Eliyahu <elishai at mailfence.com>, 2020
+# Omer I.S., 2020
 # 
 #, fuzzy
 msgid ""
@@ -15,7 +15,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-10-21 00:37+0200\n"
 "PO-Revision-Date: 2019-10-20 16:44+0000\n"
-"Last-Translator: Omer, 2020\n"
+"Last-Translator: Omer I.S., 2020\n"
 "Language-Team: Hebrew (https://www.transifex.com/xfce/teams/16840/he/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"


=====================================
po/lt.po
=====================================
@@ -5,7 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <transifex at xfce.org>, 2019
-# Moo, 2019
+# Moo, 2020
 # 
 #, fuzzy
 msgid ""
@@ -14,7 +14,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-10-21 00:37+0200\n"
 "PO-Revision-Date: 2019-10-20 16:44+0000\n"
-"Last-Translator: Moo, 2019\n"
+"Last-Translator: Moo, 2020\n"
 "Language-Team: Lithuanian (https://www.transifex.com/xfce/teams/16840/lt/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -403,8 +403,8 @@ msgid ""
 "S_kip windows that have \"skip pager\"\n"
 "or \"skip taskbar\" properties set"
 msgstr ""
-"Praleisti langus, _kurie turi \"praleisti pranešimų gaviklį\"\n"
-"ar \"praleisti užduočių juostą\" savybių rinkinį"
+"Praleisti langus, _kurie turi „praleisti pranešimų gaviklį“\n"
+"ar „praleisti užduočių juostą“ savybių rinkinį"
 
 #: ../settings-dialogs/xfwm4-tweaks-dialog.glade.h:7
 msgid "_Include hidden (i.e. iconified) windows"


=====================================
po/oc.po
=====================================
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <transifex at xfce.org>, 2019
+# Quentin PAGÈS, 2020
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-10-21 00:37+0200\n"
 "PO-Revision-Date: 2019-10-20 16:44+0000\n"
-"Last-Translator: Xfce Bot <transifex at xfce.org>, 2019\n"
+"Last-Translator: Quentin PAGÈS, 2020\n"
 "Language-Team: Occitan (post 1500) (https://www.transifex.com/xfce/teams/16840/oc/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -659,7 +660,7 @@ msgstr "Aplicar lo mòde del composidor"
 
 #: ../src/main.c:698
 msgid "Set the vblank mode"
-msgstr ""
+msgstr "Aplicar lo mòde vblank"
 
 #: ../src/main.c:707
 msgid "Replace the existing window manager"


=====================================
po/ug.po
=====================================
@@ -14,12 +14,12 @@ msgstr ""
 "POT-Creation-Date: 2019-10-21 00:37+0200\n"
 "PO-Revision-Date: 2019-10-20 16:44+0000\n"
 "Last-Translator: Xfce Bot <transifex at xfce.org>, 2019\n"
-"Language-Team: Uighur (https://www.transifex.com/xfce/teams/16840/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/xfce/teams/16840/ug/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #: ../helper-dialog/helper-dialog.c:94
 msgid ""


=====================================
src/client.c
=====================================
@@ -123,6 +123,8 @@ clientGetXDisplay (Client *c)
 void
 clientInstallColormaps (Client *c)
 {
+    ScreenInfo *screen_info;
+    DisplayInfo *display_info;
     XWindowAttributes attr;
     gboolean installed;
     int i;
@@ -130,13 +132,18 @@ clientInstallColormaps (Client *c)
     g_return_if_fail (c != NULL);
     TRACE ("client \"%s\" (0x%lx)", c->name, c->window);
 
+    screen_info = c->screen_info;
+    display_info = screen_info->display_info;
+
+    myDisplayErrorTrapPush (display_info);
+
     installed = FALSE;
     if (c->ncmap)
     {
         for (i = c->ncmap - 1; i >= 0; i--)
         {
-            XGetWindowAttributes (clientGetXDisplay (c), c->cmap_windows[i], &attr);
-            XInstallColormap (clientGetXDisplay (c), attr.colormap);
+            XGetWindowAttributes (display_info->dpy, c->cmap_windows[i], &attr);
+            XInstallColormap (display_info->dpy, attr.colormap);
             if (c->cmap_windows[i] == c->window)
             {
                 installed = TRUE;
@@ -145,13 +152,19 @@ clientInstallColormaps (Client *c)
     }
     if ((!installed) && (c->cmap))
     {
-        XInstallColormap (clientGetXDisplay (c), c->cmap);
+        XInstallColormap (display_info->dpy, c->cmap);
     }
+
+    myDisplayErrorTrapPopIgnored (display_info);
 }
 
 void
 clientUpdateColormaps (Client *c)
 {
+    ScreenInfo *screen_info;
+    DisplayInfo *display_info;
+    int result, status;
+
     g_return_if_fail (c != NULL);
     TRACE ("client \"%s\" (0x%lx)", c->name, c->window);
 
@@ -160,7 +173,15 @@ clientUpdateColormaps (Client *c)
         XFree (c->cmap_windows);
         c->ncmap = 0;
     }
-    if (!XGetWMColormapWindows (clientGetXDisplay (c), c->window, &c->cmap_windows, &c->ncmap))
+
+    screen_info = c->screen_info;
+    display_info = screen_info->display_info;
+
+    myDisplayErrorTrapPush (display_info);
+    status = XGetWMColormapWindows (display_info->dpy, c->window,
+                                    &c->cmap_windows, &c->ncmap);
+    result = myDisplayErrorTrapPop (display_info);
+    if ((result != Success) || !status)
     {
         c->cmap_windows = NULL;
         c->ncmap = 0;
@@ -1104,9 +1125,12 @@ clientApplyMWMHints (Client *c, gboolean update)
 void
 clientGetWMNormalHints (Client *c, gboolean update)
 {
+    ScreenInfo *screen_info;
+    DisplayInfo *display_info;
     XWindowChanges wc;
     unsigned long previous_value;
     long dummy;
+    int result, status;
 
     g_return_if_fail (c != NULL);
     g_return_if_fail (c->window != None);
@@ -1118,8 +1142,15 @@ clientGetWMNormalHints (Client *c, gboolean update)
     }
     g_assert (c->size);
 
+    screen_info = c->screen_info;
+    display_info = screen_info->display_info;
+
     dummy = 0;
-    if (!XGetWMNormalHints (clientGetXDisplay (c), c->window, c->size, &dummy))
+    myDisplayErrorTrapPush (display_info);
+    status = XGetWMNormalHints (display_info->dpy, c->window, c->size, &dummy);
+    result = myDisplayErrorTrapPop (display_info);
+
+    if ((result != Success) || !status)
     {
         c->size->flags = 0;
     }
@@ -1456,8 +1487,10 @@ clientCheckShape (Client *c)
 
     if (display_info->have_shape)
     {
+        myDisplayErrorTrapPush (display_info);
         XShapeQueryExtents (display_info->dpy, c->window, &boundingShaped, &xws, &yws, &wws,
                             &hws, &clipShaped, &xbs, &ybs, &wbs, &hbs);
+        myDisplayErrorTrapPopIgnored (display_info);
         return (boundingShaped != 0);
     }
     return FALSE;
@@ -1596,28 +1629,26 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
     TRACE ("window 0x%lx", w);
 
     myDisplayGrabServer (display_info);
+    myDisplayErrorTrapPush (display_info);
 
     if (!XGetWindowAttributes (display_info->dpy, w, &attr))
     {
         DBG ("Cannot get window attributes for window (0x%lx)", w);
-        myDisplayUngrabServer (display_info);
-        return NULL;
+        goto out;
     }
 
     screen_info = myDisplayGetScreenFromRoot (display_info, attr.root);
     if (!screen_info)
     {
         DBG ("Cannot determine screen info from window (0x%lx)", w);
-        myDisplayUngrabServer (display_info);
-        return NULL;
+        goto out;
     }
 
     if (w == screen_info->xfwm4_win)
     {
         TRACE ("not managing our own event window");
         compositorAddWindow (display_info, w, NULL);
-        myDisplayUngrabServer (display_info);
-        return NULL;
+        goto out;
     }
 
 #ifdef ENABLE_KDE_SYSTRAY_PROXY
@@ -1627,8 +1658,7 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
         if (screen_info->systray != None)
         {
             sendSystrayReqDock (display_info, w, screen_info->systray);
-            myDisplayUngrabServer (display_info);
-            return NULL;
+            goto out;
         }
         TRACE ("no systray found for this screen");
     }
@@ -1637,17 +1667,14 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
     if (attr.override_redirect)
     {
         TRACE ("override redirect window 0x%lx", w);
-        compositorAddWindow (display_info, w, NULL);
-        myDisplayUngrabServer (display_info);
-        return NULL;
+        goto out;
     }
 
     c = g_new0 (Client, 1);
     if (!c)
     {
         TRACE ("cannot allocate memory for the window structure");
-        myDisplayUngrabServer (display_info);
-        return NULL;
+        goto out;
     }
 
     c->window = w;
@@ -2017,14 +2044,17 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
     }
 #endif /* HAVE_XSYNC */
 
+
+    DBG ("client \"%s\" (0x%lx) is now managed", c->name, c->window);
+    DBG ("client_count=%d", screen_info->client_count);
+
+out:
     /* Window is reparented now, so we can safely release the grab
      * on the server
      */
+    myDisplayErrorTrapPopIgnored (display_info);
     myDisplayUngrabServer (display_info);
 
-    DBG ("client \"%s\" (0x%lx) is now managed", c->name, c->window);
-    DBG ("client_count=%d", screen_info->client_count);
-
     return c;
 }
 
@@ -2418,8 +2448,12 @@ clientWithdrawSingle (Client *c, GList *exclude_list, gboolean iconify)
         /* Adjust to urgency state as the window is not visible */
         clientUpdateUrgency (c);
     }
+
+    myDisplayErrorTrapPush (display_info);
     XUnmapWindow (display_info->dpy, c->frame);
     XUnmapWindow (display_info->dpy, c->window);
+    myDisplayErrorTrapPopIgnored (display_info);
+
     if (iconify)
     {
         FLAG_SET (c->flags, CLIENT_FLAG_ICONIFIED);
@@ -2814,7 +2848,10 @@ clientShade (Client *c)
         {
             clientSetFocus (screen_info, c, myDisplayGetCurrentTime (display_info), FOCUS_FORCE);
         }
+
+        myDisplayErrorTrapPush (display_info);
         XUnmapWindow (display_info->dpy, c->window);
+        myDisplayErrorTrapPopIgnored (display_info);
 
         wc.width = c->width;
         wc.height = c->height;


=====================================
src/compositor.c
=====================================
@@ -3110,6 +3110,8 @@ resize_win (CWindow *cw, gint x, gint y, gint width, gint height, gint bw)
     display_info = screen_info->display_info;
     damage = None;
 
+    myDisplayErrorTrapPush (display_info);
+
     if (WIN_IS_VISIBLE(cw))
     {
         damage = XFixesCreateRegion (display_info->dpy, NULL, 0);
@@ -3184,6 +3186,8 @@ resize_win (CWindow *cw, gint x, gint y, gint width, gint height, gint bw)
         /* damage region will be destroyed by add_damage () */
         add_damage (screen_info, damage);
     }
+
+    myDisplayErrorTrapPopIgnored (display_info);
 }
 
 static void
@@ -3201,6 +3205,8 @@ reshape_win (CWindow *cw)
 
     damage = None;
 
+    myDisplayErrorTrapPush (display_info);
+
     if (WIN_IS_VISIBLE(cw))
     {
         damage = XFixesCreateRegion (display_info->dpy, NULL, 0);
@@ -3247,6 +3253,8 @@ reshape_win (CWindow *cw)
         /* damage region will be destroyed by add_damage () */
         add_damage (screen_info, damage);
     }
+
+    myDisplayErrorTrapPopIgnored (display_info);
 }
 
 static void
@@ -3847,6 +3855,7 @@ compositorScaleWindowPixmap (CWindow *cw, guint *width, guint *height)
 {
     Display *dpy;
     ScreenInfo *screen_info;
+    DisplayInfo *display_info;
     Picture srcPicture, tmpPicture, destPicture;
     Pixmap tmpPixmap, dstPixmap;
     XTransform transform;
@@ -3860,6 +3869,7 @@ compositorScaleWindowPixmap (CWindow *cw, guint *width, guint *height)
     XRenderColor c = { 0x7fff, 0x7fff, 0x7fff, 0xffff };
 
     screen_info = cw->screen_info;
+    display_info = screen_info->display_info;
     dpy = myScreenGetXDisplay (screen_info);
 
     srcPicture = cw->picture;
@@ -3938,6 +3948,7 @@ compositorScaleWindowPixmap (CWindow *cw, guint *width, guint *height)
         return None;
     }
 
+    myDisplayErrorTrapPush (display_info);
     render_format = XRenderFindStandardFormat (dpy, PictStandardARGB32);
     tmpPicture = XRenderCreatePicture (dpy, tmpPixmap, render_format, 0, NULL);
     XRenderFillRectangle (dpy, PictOpSrc, tmpPicture, &c, 0, 0, src_w, src_h);
@@ -3965,6 +3976,7 @@ compositorScaleWindowPixmap (CWindow *cw, guint *width, guint *height)
     {
         *height = dst_h;
     }
+    myDisplayErrorTrapPopIgnored (display_info);
 
     return dstPixmap;
 }
@@ -4817,6 +4829,8 @@ compositorUpdateScreenSize (ScreenInfo *screen_info)
     {
         return;
     }
+
+    myDisplayErrorTrapPush (display_info);
 #if HAVE_OVERLAYS
     if (display_info->have_overlays)
     {
@@ -4855,6 +4869,7 @@ compositorUpdateScreenSize (ScreenInfo *screen_info)
     }
 
     damage_screen (screen_info);
+    myDisplayErrorTrapPopIgnored (display_info);
 #endif /* HAVE_COMPOSITOR */
 }
 


=====================================
src/display.c
=====================================
@@ -676,14 +676,19 @@ myDisplayGetScreenFromNum (DisplayInfo *display, int num)
 }
 
 Window
-myDisplayGetRootFromWindow(DisplayInfo *display, Window w)
+myDisplayGetRootFromWindow(DisplayInfo *display_info, Window w)
 {
     XWindowAttributes attributes;
+    int result, status;
 
     g_return_val_if_fail (w != None, None);
-    g_return_val_if_fail (display != NULL, None);
+    g_return_val_if_fail (display_info != NULL, None);
 
-    if (!XGetWindowAttributes(display->dpy, w, &attributes))
+    myDisplayErrorTrapPush (display_info);
+    status = XGetWindowAttributes(display_info->dpy, w, &attributes);
+    result = myDisplayErrorTrapPop (display_info);
+
+    if ((result != Success) || !status)
     {
         TRACE ("no root found for 0x%lx", w);
         return None;


=====================================
src/frame.c
=====================================
@@ -711,6 +711,7 @@ static void
 frameDrawWin (Client * c)
 {
     ScreenInfo *screen_info;
+    DisplayInfo *display_info;
     FramePixmap frame_pix;
     xfwmPixmap *my_pixmap;
     gint state, x, button, left, right;
@@ -727,11 +728,15 @@ frameDrawWin (Client * c)
     frameClearQueueDraw (c);
 
     screen_info = c->screen_info;
+    display_info = screen_info->display_info;
+
     requires_clearing = FALSE;
     width_changed = FALSE;
     height_changed = FALSE;
     state = ACTIVE;
 
+    myDisplayErrorTrapPush (display_info);
+
     if (c != clientGetFocus ())
     {
         TRACE ("\"%s\" is not the active window", c->name);
@@ -1044,6 +1049,8 @@ frameDrawWin (Client * c)
         }
         frameSetShape (c, 0, NULL, 0);
     }
+
+    myDisplayErrorTrapPopIgnored (display_info);
 }
 
 static gboolean


=====================================
src/mypixmap.c
=====================================
@@ -715,10 +715,14 @@ static void
 xfwmPixmapRefreshPict (xfwmPixmap * pm)
 {
     ScreenInfo * screen_info;
+    DisplayInfo *display_info;
 
     TRACE ("pixmap %p", pm);
 
     screen_info = pm->screen_info;
+    display_info = screen_info->display_info;
+    myDisplayErrorTrapPush (display_info);
+
     if (!pm->pict_format)
     {
         pm->pict_format = XRenderFindVisualFormat (myScreenGetXDisplay (screen_info),
@@ -736,6 +740,8 @@ xfwmPixmapRefreshPict (xfwmPixmap * pm)
         pm->pict = XRenderCreatePicture (myScreenGetXDisplay (screen_info),
                                          pm->pixmap, pm->pict_format, 0, NULL);
     }
+
+    myDisplayErrorTrapPopIgnored (display_info);
 }
 #endif
 


=====================================
src/mywindow.c
=====================================
@@ -80,11 +80,19 @@ xfwmWindowInit (xfwmWindow * win)
 void
 xfwmWindowSetCursor (xfwmWindow * win, Cursor cursor)
 {
+    ScreenInfo *screen_info;
+    DisplayInfo *display_info;
+
     g_return_if_fail (win != NULL);
 
+    screen_info = win->screen_info;
+    display_info = screen_info->display_info;
+
     if ((win->window != None) && (cursor != None))
     {
-        XDefineCursor (myScreenGetXDisplay (win->screen_info), win->window, cursor);
+        myDisplayErrorTrapPush (display_info);
+        XDefineCursor (myScreenGetXDisplay (screen_info), win->window, cursor);
+        myDisplayErrorTrapPopIgnored (display_info);
     }
 }
 
@@ -347,6 +355,8 @@ xfwmWindowCopyComposite (xfwmWindow * win, xfwmPixmap * pix)
 void
 xfwmWindowSetBG (xfwmWindow * win, xfwmPixmap * pix)
 {
+    ScreenInfo *screen_info;
+    DisplayInfo *display_info;
     gboolean done;
 
     if ((win->width < 1) || (win->height < 1) || (pix->width < 1) || (pix->height < 1))
@@ -354,10 +364,14 @@ xfwmWindowSetBG (xfwmWindow * win, xfwmPixmap * pix)
         return;
     }
 
+    screen_info = win->screen_info;
+    display_info = screen_info->display_info;
+    myDisplayErrorTrapPush (display_info);
+
     done = FALSE;
 #ifdef HAVE_RENDER
-    if ((win->visual != win->screen_info->visual) ||
-        (win->depth  != win->screen_info->depth))
+    if ((win->visual != screen_info->visual) ||
+        (win->depth  != screen_info->depth))
     {
         /* Try to use Render */
         done = xfwmWindowCopyComposite (win, pix);
@@ -367,6 +381,8 @@ xfwmWindowSetBG (xfwmWindow * win, xfwmPixmap * pix)
     if (!done)
     {
         /* Use the good old way */
-        XSetWindowBackgroundPixmap (myScreenGetXDisplay (win->screen_info), win->window, pix->pixmap);
+        XSetWindowBackgroundPixmap (myScreenGetXDisplay (screen_info), win->window, pix->pixmap);
     }
+
+    myDisplayErrorTrapPopIgnored (display_info);
 }


=====================================
src/netwm.c
=====================================
@@ -1606,7 +1606,9 @@ clientAddUserTimeWin (Client * c)
 
     if ((c->user_time_win != None) && (c->user_time_win != c->window))
     {
+        myDisplayErrorTrapPush (display_info);
         XSelectInput (display_info->dpy, c->user_time_win, PropertyChangeMask);
+        myDisplayErrorTrapPopIgnored (display_info);
     }
 }
 
@@ -1626,6 +1628,8 @@ clientRemoveUserTimeWin (Client * c)
 
     if ((c->user_time_win != None) && (c->user_time_win != c->window))
     {
+        myDisplayErrorTrapPush (display_info);
         XSelectInput (display_info->dpy, c->user_time_win, NoEventMask);
+        myDisplayErrorTrapPopIgnored (display_info);
     }
 }



View it on GitLab: https://salsa.debian.org/xfce-team/desktop/xfwm4/-/commit/afc1994bb88bd15aa7d312bf7afec447af5c7987

-- 
View it on GitLab: https://salsa.debian.org/xfce-team/desktop/xfwm4/-/commit/afc1994bb88bd15aa7d312bf7afec447af5c7987
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-xfce-commits/attachments/20201101/b90634d6/attachment-0001.html>


More information about the Pkg-xfce-commits mailing list