[Xfce4-commits] [xfce/xfwm4] 02/11: display: Make sure we have fence support

noreply at xfce.org noreply at xfce.org
Wed May 15 22:51:23 CEST 2019


This is an automated email from the git hooks/post-receive script.

o   l   i   v   i   e   r       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository xfce/xfwm4.

commit cc1650ca5411974fe98268d526b57432478abdf7
Author: Olivier Fourdan <fourdan at xfce.org>
Date:   Tue May 14 20:55:14 2019 +0200

    display: Make sure we have fence support
    
    Fences support was added in XSync 3.1, make sure the XServer has support
    for this.
    
    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
---
 src/display.c | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/src/display.c b/src/display.c
index 505886a..40ee24f 100644
--- a/src/display.c
+++ b/src/display.c
@@ -257,28 +257,34 @@ myDisplayInit (GdkDisplay *gdisplay)
 
 #ifdef HAVE_XSYNC
     display->have_xsync = FALSE;
-
     display->xsync_error_base = 0;
     display->xsync_event_base = 0;
 
-    major = SYNC_MAJOR_VERSION;
-    minor = SYNC_MINOR_VERSION;
-
     if (XSyncQueryExtension (display->dpy,
                              &display->xsync_event_base,
-                             &display->xsync_error_base)
-         && XSyncInitialize (display->dpy,
-                             &major,
-                             &minor))
+                             &display->xsync_error_base))
     {
-        display->have_xsync = TRUE;
+         if (XSyncInitialize (display->dpy, &major, &minor))
+         {
+             if ((major > SYNC_MAJOR_VERSION) ||
+                 (major == SYNC_MAJOR_VERSION && minor >= SYNC_MINOR_VERSION))
+             {
+                 display->have_xsync = TRUE;
+                 XSyncSetPriority (display->dpy, None, 10);
+             }
+             else
+             {
+                 g_warning ("XSync extension too old (%i.%i).", major, minor);
+             }
+         }
+         else
+         {
+             g_warning ("Failed to initialize XSync extension.");
+         }
     }
     else
     {
         g_warning ("The display does not support the XSync extension.");
-        display->have_xsync = FALSE;
-        display->xsync_event_base = 0;
-        display->xsync_error_base = 0;
     }
 #endif /* HAVE_XSYNC */
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list