diff options
author | Matthias Hopf <mhopf@suse.de> | 2007-11-19 18:35:00 +0100 |
---|---|---|
committer | Matthias Hopf <mhopf@suse.de> | 2007-11-19 18:35:00 +0100 |
commit | 4b20125f2e633aaf76532eba86e5652f2b32ef3b (patch) | |
tree | 67643ffd8ecd884c79c18398e826f0aec61e3449 | |
parent | dce9ffc402511d0820c0fcdd7228e1f2ce8571fc (diff) |
Don't set CRTC to NULL when disabling shared outputs.
-rw-r--r-- | src/rhd_randr.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/src/rhd_randr.c b/src/rhd_randr.c index 05db289..3dc07e6 100644 --- a/src/rhd_randr.c +++ b/src/rhd_randr.c @@ -173,11 +173,11 @@ RHDDebugRandrState (RHDPtr rhdPtr, const char *msg) rhdRandrOutputPtr o = (rhdRandrOutputPtr) (*ro)->driver_private; ASSERT(!strcmp((*ro)->name,o->Name)); RHDDebugCont(" RROut %s [Out %s Conn %s] Crtc %s [%s] " - "active [%d] %s\n", + "[%sactive] %s\n", (*ro)->name, o->Output->Name, o->Connector->Name, (*ro)->crtc ? ((struct rhdCrtc *)(*ro)->crtc->driver_private)->Name : "null", o->Output->Crtc ? o->Output->Crtc->Name : "null", - o->Output->Active, + o->Output->Active ? "" : "in", (*ro)->status == XF86OutputStatusConnected ? "connected" : (*ro)->status == XF86OutputStatusDisconnected ? "disconnected" : (*ro)->status == XF86OutputStatusUnknown ? "unknownState" : @@ -448,31 +448,33 @@ rhdRROutputDpms(xf86OutputPtr out, case DPMSModeOn: rout->Output->Power(rout->Output, RHD_POWER_ON); rout->Output->Active = TRUE; - ASSERT(Crtc); - rout->Output->Crtc = Crtc; + ASSERT(Crtc); + rout->Output->Crtc = Crtc; break; case DPMSModeSuspend: case DPMSModeStandby: - if (outUsedBy) - xf86DrvMsg(rhdPtr->scrnIndex, X_INFO, + if (outUsedBy) { + xf86DrvMsg(rhdPtr->scrnIndex, X_WARNING, "While resetting %s: output %s is also used by %s - " "ignoring\n", out->name, rout->Output->Name, outUsedBy); - else - rout->Output->Power(rout->Output, RHD_POWER_RESET); + break; + } + rout->Output->Power(rout->Output, RHD_POWER_RESET); rout->Output->Active = FALSE; - rout->Output->Crtc = NULL; + rout->Output->Crtc = NULL; break; case DPMSModeOff: - if (outUsedBy) - xf86DrvMsg(rhdPtr->scrnIndex, X_INFO, + if (outUsedBy) { + xf86DrvMsg(rhdPtr->scrnIndex, X_WARNING, "While switching off %s: output %s is also used by %s - " "ignoring\n", out->name, rout->Output->Name, outUsedBy); - else - rout->Output->Power(rout->Output, RHD_POWER_SHUTDOWN); + break; + } + rout->Output->Power(rout->Output, RHD_POWER_SHUTDOWN); rout->Output->Active = FALSE; - rout->Output->Crtc = NULL; + rout->Output->Crtc = NULL; break; default: ASSERT(!"Unknown DPMS mode"); |