xserver: Branch 'master'

Aaron Plattner aplattner at kemper.freedesktop.org
Wed Feb 28 22:36:18 EET 2007


 randr/rrcrtc.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+)

New commits:
diff-tree 8b245758845523d5f8f017bb9d0e9aa57b616c28 (from d9bcb22d199e8444b9762a35754e04d327dd5915)
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Mon Feb 26 17:45:40 2007 -0800

    Return BadMatch if a client tries to clone non-cloneable outputs.

diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index fdd1d42..474c946 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -667,6 +667,27 @@ ProcRRSetCrtcConfig (ClientPtr client)
 	    return BadMatch;
 	}
     }
+    /* validate clones */
+    for (i = 0; i < numOutputs; i++)
+    {
+	for (j = 0; j < numOutputs; j++)
+	{
+	    int k;
+	    if (i == j)
+		continue;
+	    for (k = 0; k < outputs[i]->numClones; k++)
+	    {
+		if (outputs[i]->clones[k] == outputs[j])
+		    break;
+	    }
+	    if (k == outputs[i]->numClones)
+	    {
+		if (outputs)
+		    xfree (outputs);
+		return BadMatch;
+	    }
+	}
+    }
 
     pScreen = crtc->pScreen;
     pScrPriv = rrGetScrPriv(pScreen);



More information about the xorg-commit mailing list