summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustavo Pichorim Boiko <boiko@mandriva.com>2007-07-23 18:27:41 -0300
committerKeith Packard <keithp@neko.keithp.com>2007-07-23 14:47:45 -0700
commit5b424b562eee863b11571de4cd0019cd9bc5b379 (patch)
tree535e321805973853b7fce6fb62730e1a70044eac
parent7da38bb6a15247948c90e00a59230453fcf13cbd (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.c1
-rw-r--r--randr/randrstr.h5
-rw-r--r--randr/rrcrtc.c2
-rw-r--r--randr/rrinfo.c1
-rw-r--r--randr/rroutput.c9
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)