diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index b476c07ce..adec7bd3c 100644 --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c @@ -2210,6 +2210,7 @@ xf86CrtcLeaseTerminated(RRLeasePtr lease) { int c; int o; + ScrnInfoPtr scrn = xf86ScreenToScrn(lease->screen); RRLeaseTerminated(lease); /* @@ -2240,6 +2241,10 @@ xf86CrtcLeaseTerminated(RRLeasePtr lease) xf86CrtcCheckReset(crtc); } } + + /* Power off if necessary */ + xf86DisableUnusedFunctions(scrn); + RRLeaseFree(lease); }