summaryrefslogtreecommitdiff
path: root/randr
diff options
context:
space:
mode:
Diffstat (limited to 'randr')
-rw-r--r--randr/rrinfo.c23
-rw-r--r--randr/rrscreen.c9
2 files changed, 15 insertions, 17 deletions
diff --git a/randr/rrinfo.c b/randr/rrinfo.c
index 85426f654..797cdb1b4 100644
--- a/randr/rrinfo.c
+++ b/randr/rrinfo.c
@@ -169,18 +169,7 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
if (height > maxHeight) maxHeight = height;
}
- if (minWidth != pScrPriv->minWidth) {
- pScrPriv->minWidth = minWidth; pScrPriv->changed = TRUE;
- }
- if (maxWidth != pScrPriv->maxWidth) {
- pScrPriv->maxWidth = maxWidth; pScrPriv->changed = TRUE;
- }
- if (minHeight != pScrPriv->minHeight) {
- pScrPriv->minHeight = minHeight; pScrPriv->changed = TRUE;
- }
- if (maxHeight != pScrPriv->maxHeight) {
- pScrPriv->maxHeight = maxHeight; pScrPriv->changed = TRUE;
- }
+ RRScreenSetSizeRange (pScreen, minWidth, minHeight, maxWidth, maxHeight);
/* notice current mode */
if (newMode)
@@ -219,7 +208,6 @@ RRGetInfo (ScreenPtr pScreen)
return TRUE;
}
-#if RANDR_12_INTERFACE
/*
* Register the range of sizes for the screen
*/
@@ -234,12 +222,19 @@ RRScreenSetSizeRange (ScreenPtr pScreen,
if (!pScrPriv)
return;
+ if (pScrPriv->minWidth == minWidth && pScrPriv->minHeight == minHeight &&
+ pScrPriv->maxWidth == maxWidth && pScrPriv->maxHeight == maxHeight)
+ {
+ return;
+ }
+
pScrPriv->minWidth = minWidth;
pScrPriv->minHeight = minHeight;
pScrPriv->maxWidth = maxWidth;
pScrPriv->maxHeight = maxHeight;
+ pScrPriv->changed = TRUE;
+ pScrPriv->configChanged = TRUE;
}
-#endif
#ifdef RANDR_10_INTERFACE
static Bool
diff --git a/randr/rrscreen.c b/randr/rrscreen.c
index 8ee126af9..7b0fbb8e3 100644
--- a/randr/rrscreen.c
+++ b/randr/rrscreen.c
@@ -239,7 +239,8 @@ ProcRRGetScreenSizeRange (ClientPtr client)
if (pScrPriv)
{
- RRGetInfo (pScreen);
+ if (!RRGetInfo (pScreen))
+ return BadAlloc;
rep.minWidth = pScrPriv->minWidth;
rep.minHeight = pScrPriv->minHeight;
rep.maxWidth = pScrPriv->maxWidth;
@@ -359,7 +360,8 @@ ProcRRGetScreenResources (ClientPtr client)
rep.pad = 0;
if (pScrPriv)
- RRGetInfo (pScreen);
+ if (!RRGetInfo (pScreen))
+ return BadAlloc;
if (!pScrPriv)
{
@@ -603,7 +605,8 @@ ProcRRGetScreenInfo (ClientPtr client)
rep.pad = 0;
if (pScrPriv)
- RRGetInfo (pScreen);
+ if (!RRGetInfo (pScreen))
+ return BadAlloc;
output = RRFirstOutput (pScreen);