diff options
author | Gustavo Pichorim Boiko <boiko@mandriva.com> | 2007-07-23 18:27:41 -0300 |
---|---|---|
committer | Keith Packard <keithp@neko.keithp.com> | 2007-07-23 14:47:45 -0700 |
commit | 5b424b562eee863b11571de4cd0019cd9bc5b379 (patch) | |
tree | 535e321805973853b7fce6fb62730e1a70044eac | |
parent | 7da38bb6a15247948c90e00a59230453fcf13cbd (diff) |
Set the crtc before the output change is notified
Set the new randr crtc of the output before the output change notification is
delivered to the clients.
Remove RROutputSetCrtc as it is not really necessary. All we have to do is set
the output's crtc on RRCrtcNotify
-rw-r--r-- | hw/xfree86/modes/xf86RandR12.c | 1 | ||||
-rw-r--r-- | randr/randrstr.h | 5 | ||||
-rw-r--r-- | randr/rrcrtc.c | 2 | ||||
-rw-r--r-- | randr/rrinfo.c | 1 | ||||
-rw-r--r-- | randr/rroutput.c | 9 |
5 files changed, 2 insertions, 16 deletions
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index 6c3bf8d09..889be6f27 100644 --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c @@ -951,7 +951,6 @@ xf86RandR12SetInfo12 (ScreenPtr pScreen) return FALSE; } - RROutputSetCrtc (output->randr_output, randr_crtc); RROutputSetPhysicalSize(output->randr_output, output->mm_width, output->mm_height); diff --git a/randr/randrstr.h b/randr/randrstr.h index 4cc3a469e..bd19fe9d0 100644 --- a/randr/randrstr.h +++ b/randr/randrstr.h @@ -694,9 +694,6 @@ RROutputSetCrtcs (RROutputPtr output, RRCrtcPtr *crtcs, int numCrtcs); -void -RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc); - Bool RROutputSetConnection (RROutputPtr output, CARD8 connection); @@ -802,7 +799,6 @@ Query state: 1.2: RRScreenSetSizeRange RROutputSetCrtcs - RROutputSetCrtc RRModeGet RROutputSetModes RROutputSetConnection @@ -822,7 +818,6 @@ Query state: RRCrtcCreate RROutputCreate RROutputSetCrtcs - RROutputSetCrtc RROutputSetConnection RROutputSetSubpixelOrder RROldModeAdd • This adds modes one-at-a-time diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c index 3ce9e2155..db5007e28 100644 --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c @@ -134,6 +134,7 @@ RRCrtcNotify (RRCrtcPtr crtc, break; if (j == crtc->numOutputs) { + outputs[i]->crtc = crtc; RROutputChanged (outputs[i], FALSE); RRCrtcChanged (crtc, FALSE); } @@ -149,6 +150,7 @@ RRCrtcNotify (RRCrtcPtr crtc, break; if (i == numOutputs) { + crtc->outputs[j]->crtc = NULL; RROutputChanged (crtc->outputs[j], FALSE); RRCrtcChanged (crtc, FALSE); } diff --git a/randr/rrinfo.c b/randr/rrinfo.c index 5ef1a6b83..858b1edfe 100644 --- a/randr/rrinfo.c +++ b/randr/rrinfo.c @@ -98,7 +98,6 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations) if (!output) return; RROutputSetCrtcs (output, &crtc, 1); - RROutputSetCrtc (output, crtc); RROutputSetConnection (output, RR_Connected); #ifdef RENDER RROutputSetSubpixelOrder (output, PictureGetSubpixelOrder (pScreen)); diff --git a/randr/rroutput.c b/randr/rroutput.c index e00116283..1e1cfa5a9 100644 --- a/randr/rroutput.c +++ b/randr/rroutput.c @@ -286,15 +286,6 @@ RROutputSetCrtcs (RROutputPtr output, return TRUE; } -void -RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc) -{ - if (output->crtc == crtc) - return; - output->crtc = crtc; - RROutputChanged (output, FALSE); -} - Bool RROutputSetConnection (RROutputPtr output, CARD8 connection) |