summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Hopf <mhopf@suse.de>2007-11-12 15:11:03 +0100
committerMatthias Hopf <mhopf@suse.de>2007-11-12 15:12:21 +0100
commitf7dd0c72b8f861f4d5443a43d1013e3fe3db43ca (patch)
treea12531ee413e2a5bb63f6f516491081dd9a432b3
parentf48087b6c33c1f84bf2cfc0744b1c38697321c07 (diff)
Only clear crtc of output if it is the one we're actually working on.
Upon recreation of the RandR internal data structures in RRCrtcNotify() the crtc of an output could be NULLed if the crtc was shared (cloned) between two outputs and one of them got another crtc assigned.
-rw-r--r--randr/rrcrtc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index db5007e28..43cfb2923 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -150,7 +150,8 @@ RRCrtcNotify (RRCrtcPtr crtc,
break;
if (i == numOutputs)
{
- crtc->outputs[j]->crtc = NULL;
+ if (crtc->outputs[j]->crtc == crtc)
+ crtc->outputs[j]->crtc = NULL;
RROutputChanged (crtc->outputs[j], FALSE);
RRCrtcChanged (crtc, FALSE);
}