summaryrefslogtreecommitdiff
path: root/randr
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2007-02-28 16:09:11 -0800
committerAaron Plattner <aplattner@nvidia.com>2007-02-28 16:13:13 -0800
commit06c3021aec720837bef432656e88ae9b4e35101d (patch)
treeca1eaf164a58b39db420f2da44354f5704427127 /randr
parent68c64ad7b1eea79c786b5a7f3459076780163a47 (diff)
Don't crash setting a NULL mode with a randr classic DDX. Also remember to update the screen size during modesets.
Diffstat (limited to 'randr')
-rw-r--r--randr/rrcrtc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index 474c9465c..1f7462f28 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -290,6 +290,12 @@ RRCrtcSet (RRCrtcPtr crtc,
RRScreenRate rate;
Bool ret;
+ if (!mode)
+ {
+ RRCrtcNotify (crtc, NULL, x, y, rotation, 0, NULL);
+ return TRUE;
+ }
+
size.width = mode->mode.width;
size.height = mode->mode.height;
if (outputs[0]->mmWidth && outputs[0]->mmHeight)
@@ -310,7 +316,10 @@ RRCrtcSet (RRCrtcPtr crtc,
* Old 1.0 interface tied screen size to mode size
*/
if (ret)
+ {
RRCrtcNotify (crtc, mode, x, y, rotation, 1, outputs);
+ RRScreenSizeNotify (pScreen);
+ }
return ret;
}
#endif