mirror of
https://github.com/X11Libre/xf86-video-intel.git
synced 2026-03-24 01:24:12 +00:00
intel-virtual-output: Disable outputs on remote displays upon shutdown
References: https://bugs.freedesktop.org/show_bug.cgi?id=79994 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
@@ -3054,16 +3054,36 @@ static int first_display_sibling(struct context *ctx, int i)
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
#define first_display_for_each_sibling(CTX, i) \
|
||||
for (i = first_display_first_sibling(CTX); first_display_sibling(CTX, i); i++)
|
||||
|
||||
static void display_cleanup(struct display *display)
|
||||
{
|
||||
Display *dpy = display->dpy;
|
||||
int n;
|
||||
|
||||
XGrabServer(dpy);
|
||||
|
||||
res = _XRRGetScreenResourcesCurrent(dpy, display->root);
|
||||
if (res != NULL) {
|
||||
for (n = 0; n < res->ncrtc; n++)
|
||||
disable_crtc(display->dpy, res, res->crtc[n]);
|
||||
|
||||
XRRFreeScreenResources(res);
|
||||
}
|
||||
|
||||
XUngrabServer(dpy);
|
||||
}
|
||||
|
||||
static void context_cleanup(struct context *ctx)
|
||||
{
|
||||
Display *dpy = ctx->display->dpy;
|
||||
XRRScreenResources *res;
|
||||
int i, j;
|
||||
|
||||
for (i = 1; i < ctx->ndisplay; i++)
|
||||
display_cleanup(&ctx.display[i]);
|
||||
|
||||
res = _XRRGetScreenResourcesCurrent(dpy, ctx->display->root);
|
||||
if (res == NULL)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user