xserver: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Fri Jul 29 16:42:33 PDT 2011


 randr/rrproperty.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 08dfff92e8d0c2b1726634392c147f6634d1706d
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Fri Jul 29 16:12:06 2011 -0700

    randr: Compare all the bytes in RRPostPendingProperties
    
    RRPostPendingProperties tries to compare the pending and current
    property values to decide whether they're actually changing.  However,
    it does this using a memcmp that passes in pending_value->size as the
    number of bytes.  This is actually the number of elements, where each
    element is (pending_value->format / 8) bytes long.  This causes the
    pending value to not be propagated if the first pending_value->size
    bytes are the same and only the end of it is changing.
    
    Fix this by computing the total number of bytes to compare in the
    memcmp.
    
    Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/randr/rrproperty.c b/randr/rrproperty.c
index ba04c16..61e7bb4 100644
--- a/randr/rrproperty.c
+++ b/randr/rrproperty.c
@@ -283,7 +283,7 @@ RRPostPendingProperties (RROutputPtr output)
 	    pending_value->format == current_value->format &&
 	    pending_value->size == current_value->size &&
 	    !memcmp (pending_value->data, current_value->data,
-		     pending_value->size))
+		     pending_value->size * (pending_value->format / 8)))
 	    continue;
 
 	if (RRChangeOutputProperty (output, property->propertyName,


More information about the xorg-commit mailing list