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

Yves-Alexis Perez gitlab at salsa.debian.org
Thu Nov 5 21:15:32 GMT 2020



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


Commits:
9fa184f6 by Yves-Alexis Perez at 2020-11-03T18:27:39+01:00
New upstream version 4.15.3
- - - - -


5 changed files:

- ChangeLog
- NEWS
- configure
- configure.ac
- src/compositor.c


Changes:

=====================================
ChangeLog
=====================================
@@ -1,3 +1,47 @@
+commit 56562f389fbdeb310d238654fcde8ef5edde85c8
+Author: Olivier Fourdan <fourdan at xfce.org>
+Date:   Sun Nov 1 21:54:39 2020 +0100
+
+    Release 4.15.3!
+    
+    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
+
+commit d4ea89aff91fa40ca3ca35fc25d44e8140fb5b26
+Author: Olivier Fourdan <fourdan at xfce.org>
+Date:   Sun Nov 1 21:37:50 2020 +0100
+
+    compositor: Do not try to clip opaque region if none
+    
+    If the window has no opaque region, no point in trying to clip it out
+    and return immediately.
+    
+    No functional change.
+    
+    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
+
+commit 50d34206fd3f01e71a16627821bbecc90c53a95e
+Author: Olivier Fourdan <fourdan at xfce.org>
+Date:   Sun Nov 1 21:23:18 2020 +0100
+
+    compositor: Damage opaque region if changed
+    
+    When using multi buffers (Present, GLX), if the client updates its
+    opaque region in between (e.g. when resizing the window) we may cull out
+    regions on screen that won't get updated, leaving trails of unpainted
+    areas.
+    
+    To avoid that, make sure we add damage for the delta in opaque region.
+    
+    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
+
+commit ce66a699e6cbe670aae1c79a72b9ab14ce020d25
+Author: Olivier Fourdan <fourdan at xfce.org>
+Date:   Sun Nov 1 15:30:47 2020 +0100
+
+    Post release tag bump
+    
+    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
+
 commit 12a583a691a883002223a643c5c84af058d39eba
 Author: Olivier Fourdan <fourdan at xfce.org>
 Date:   Sun Nov 1 15:29:43 2020 +0100


=====================================
NEWS
=====================================
@@ -1,3 +1,8 @@
+4.15.3
+======
+
+- Fix opaque regions leaving trails of unpainted areas
+
 4.15.2
 ======
 


=====================================
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.15.2.
+# Generated by GNU Autoconf 2.69 for xfwm4 4.15.3.
 #
 # 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.15.2'
-PACKAGE_STRING='xfwm4 4.15.2'
+PACKAGE_VERSION='4.15.3'
+PACKAGE_STRING='xfwm4 4.15.3'
 PACKAGE_BUGREPORT='xfce4-dev at xfce.org'
 PACKAGE_URL=''
 
@@ -1466,7 +1466,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.15.2 to adapt to many kinds of systems.
+\`configure' configures xfwm4 4.15.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1540,7 +1540,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xfwm4 4.15.2:";;
+     short | recursive ) echo "Configuration of xfwm4 4.15.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1704,7 +1704,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xfwm4 configure 4.15.2
+xfwm4 configure 4.15.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2078,7 +2078,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.15.2, which was
+It was created by xfwm4 $as_me 4.15.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2941,7 +2941,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='xfwm4'
- VERSION='4.15.2'
+ VERSION='4.15.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -18722,8 +18722,8 @@ $as_echo "minimum" >&6; }
 
 
 REVISION=unknown
-if test x"12a583a69" != x""; then
-    REVISION=12a583a69
+if test x"56562f389" != x""; then
+    REVISION=56562f389
 fi
 
 cat >>confdefs.h <<_ACEOF
@@ -19288,7 +19288,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.15.2, which was
+This file was extended by xfwm4 $as_me 4.15.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19354,7 +19354,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.15.2
+xfwm4 config.status 4.15.3
 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], [15])
-m4_define([xfwm4_version_micro], [2])
-m4_define([xfwm4_version_build], [12a583a69])
+m4_define([xfwm4_version_micro], [3])
+m4_define([xfwm4_version_build], [56562f389])
 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()])])
 
@@ -309,8 +309,8 @@ dnl Check for debugging support
 XDT_FEATURE_DEBUG
 
 REVISION=unknown
-if test x"12a583a69" != x""; then
-    REVISION=12a583a69
+if test x"56562f389" != x""; then
+    REVISION=56562f389
 fi
 AC_DEFINE_UNQUOTED([REVISION], "$REVISION", [git id])
 AC_SUBST([REVISION])


=====================================
src/compositor.c
=====================================
@@ -2149,11 +2149,6 @@ clip_opaque_region (CWindow *cw, XserverRegion region)
     g_return_if_fail (cw != NULL);
     TRACE ("window 0x%lx", cw->id);
 
-    if (cw->opaque_region == None)
-    {
-        return;
-    }
-
     screen_info = cw->screen_info;
     display_info = screen_info->display_info;
 
@@ -2296,7 +2291,7 @@ paint_all (ScreenInfo *screen_info, XserverRegion region, gushort buffer)
             XFixesCopyRegion (dpy, cw->borderClip, paint_region);
         }
 
-        if (cw->opacity == NET_WM_OPAQUE)
+        if ((cw->opacity == NET_WM_OPAQUE) && (cw->opaque_region != None))
         {
             clip_opaque_region (cw, paint_region);
         }
@@ -2971,6 +2966,7 @@ update_opaque_region (CWindow *cw, Window id)
     ScreenInfo *screen_info;
     XRectangle *rects = NULL;
     unsigned int nrects;
+    XserverRegion old_opaque_region;
 
     g_return_if_fail (cw != NULL);
     TRACE ("window 0x%lx", cw->id);
@@ -2978,11 +2974,7 @@ update_opaque_region (CWindow *cw, Window id)
     screen_info = cw->screen_info;
     display_info = screen_info->display_info;
 
-    if (cw->opaque_region)
-    {
-        XFixesDestroyRegion (display_info->dpy, cw->opaque_region);
-        cw->opaque_region = None;
-    }
+    old_opaque_region = cw->opaque_region;
 
     nrects = getOpaqueRegionRects (display_info, id, &rects);
     if (nrects)
@@ -2990,8 +2982,24 @@ update_opaque_region (CWindow *cw, Window id)
         cw->opaque_region = XFixesCreateRegion (display_info->dpy, rects, nrects);
         g_free (rects);
     }
+    else
+    {
+        cw->opaque_region = None;
+    }
 
-    damage_win (cw);
+    if (old_opaque_region)
+    {
+        if (cw->opaque_region)
+        {
+            XFixesSubtractRegion (display_info->dpy, old_opaque_region,
+                                  old_opaque_region, cw->opaque_region);
+        }
+        XFixesTranslateRegion (display_info->dpy, old_opaque_region,
+                               cw->attr.x + cw->attr.border_width,
+                               cw->attr.y + cw->attr.border_width);
+        /* old_opaque_region region will be destroyed by add_damage () */
+        add_damage (screen_info, old_opaque_region);
+    }
 }
 
 static void



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

-- 
View it on GitLab: https://salsa.debian.org/xfce-team/desktop/xfwm4/-/commit/9fa184f63d004fd41965a50942c8cdda5a806580
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/20201105/4d41089c/attachment-0001.html>


More information about the Pkg-xfce-commits mailing list