summaryrefslogtreecommitdiff
path: root/randr
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2008-11-26 15:49:02 -0800
committerKeith Packard <keithp@keithp.com>2008-11-26 15:50:54 -0800
commitfc708394318ed92c612e2938b335c08c1ffebb28 (patch)
tree78e11167dca90269937092f8b78ad7a3a5815ddb /randr
parentf710ce269c020a39f58b2bfbd0fe5192a3279c72 (diff)
Add server support for RRGetScreenResourcesCurrent
This depends on randrproto 1.2.99.1 Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'randr')
-rw-r--r--randr/randrstr.h3
-rw-r--r--randr/rrdispatch.c5
-rw-r--r--randr/rrscreen.c18
-rw-r--r--randr/rrsdispatch.c5
4 files changed, 24 insertions, 7 deletions
diff --git a/randr/randrstr.h b/randr/randrstr.h
index 822e37747..64206e88d 100644
--- a/randr/randrstr.h
+++ b/randr/randrstr.h
@@ -388,6 +388,9 @@ int
ProcRRGetScreenResources (ClientPtr client);
int
+ProcRRGetScreenResourcesCurrent (ClientPtr client);
+
+int
ProcRRSetScreenConfig (ClientPtr client);
int
diff --git a/randr/rrdispatch.c b/randr/rrdispatch.c
index 20b471c09..64af6ce2a 100644
--- a/randr/rrdispatch.c
+++ b/randr/rrdispatch.c
@@ -212,7 +212,8 @@ int (*ProcRandrVector[RRNumberRequests])(ClientPtr) = {
ProcRRGetCrtcGamma, /* 23 */
ProcRRSetCrtcGamma, /* 24 */
/* V1.3 additions */
- ProcRRSetCrtcTransform, /* 25 */
- ProcRRGetCrtcTransform, /* 26 */
+ ProcRRGetScreenResourcesCurrent, /* 25 */
+ ProcRRSetCrtcTransform, /* 26 */
+ ProcRRGetCrtcTransform, /* 27 */
};
diff --git a/randr/rrscreen.c b/randr/rrscreen.c
index a910368b3..7a8f2ebc7 100644
--- a/randr/rrscreen.c
+++ b/randr/rrscreen.c
@@ -314,8 +314,8 @@ ProcRRSetScreenSize (ClientPtr client)
return Success;
}
-int
-ProcRRGetScreenResources (ClientPtr client)
+static int
+rrGetScreenResources(ClientPtr client, Bool query)
{
REQUEST(xRRGetScreenResourcesReq);
xRRGetScreenResourcesReply rep;
@@ -339,7 +339,7 @@ ProcRRGetScreenResources (ClientPtr client)
pScrPriv = rrGetScrPriv(pScreen);
rep.pad = 0;
- if (pScrPriv)
+ if (query && pScrPriv)
if (!RRGetInfo (pScreen))
return BadAlloc;
@@ -463,6 +463,18 @@ ProcRRGetScreenResources (ClientPtr client)
return client->noClientException;
}
+int
+ProcRRGetScreenResources (ClientPtr client)
+{
+ return rrGetScreenResources(client, TRUE);
+}
+
+int
+ProcRRGetScreenResourcesCurrent (ClientPtr client)
+{
+ return rrGetScreenResources(client, FALSE);
+}
+
typedef struct _RR10Data {
RRScreenSizePtr sizes;
int nsize;
diff --git a/randr/rrsdispatch.c b/randr/rrsdispatch.c
index 66a0e1677..5a6dab5bf 100644
--- a/randr/rrsdispatch.c
+++ b/randr/rrsdispatch.c
@@ -415,7 +415,8 @@ int (*SProcRandrVector[RRNumberRequests])(ClientPtr) = {
SProcRRGetCrtcGamma, /* 23 */
SProcRRSetCrtcGamma, /* 24 */
/* V1.3 additions */
- SProcRRSetCrtcTransform, /* 25 */
- SProcRRGetCrtcTransform, /* 26 */
+ SProcRRGetScreenResources, /* 25 GetScreenResourcesCurrent */
+ SProcRRSetCrtcTransform, /* 26 */
+ SProcRRGetCrtcTransform, /* 27 */
};