winex11.drv: Check that there are connected outputs before using XRandR 1.4.
On headless systems, Wine can still run through a VNC connection even though no outputs are connected. Fallback to using the Xinerama display device handler in this case to report at least one monitor. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49500 Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
472adf6509
commit
798137dbf6
|
@ -1555,6 +1555,38 @@ void X11DRV_XRandR_Init(void)
|
||||||
#ifdef HAVE_XRRGETPROVIDERRESOURCES
|
#ifdef HAVE_XRRGETPROVIDERRESOURCES
|
||||||
if (ret >= 4 && (major > 1 || (major == 1 && minor >= 4)))
|
if (ret >= 4 && (major > 1 || (major == 1 && minor >= 4)))
|
||||||
{
|
{
|
||||||
|
XRRScreenResources *screen_resources;
|
||||||
|
XRROutputInfo *output_info;
|
||||||
|
BOOL found_output = FALSE;
|
||||||
|
INT i;
|
||||||
|
|
||||||
|
screen_resources = xrandr_get_screen_resources();
|
||||||
|
if (!screen_resources)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (i = 0; i < screen_resources->noutput; ++i)
|
||||||
|
{
|
||||||
|
output_info = pXRRGetOutputInfo( gdi_display, screen_resources, screen_resources->outputs[i] );
|
||||||
|
if (!output_info)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (output_info->connection == RR_Connected)
|
||||||
|
{
|
||||||
|
pXRRFreeOutputInfo( output_info );
|
||||||
|
found_output = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
pXRRFreeOutputInfo( output_info );
|
||||||
|
}
|
||||||
|
pXRRFreeScreenResources( screen_resources );
|
||||||
|
|
||||||
|
if (!found_output)
|
||||||
|
{
|
||||||
|
WARN("No connected outputs found.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
display_handler.name = "XRandR 1.4";
|
display_handler.name = "XRandR 1.4";
|
||||||
display_handler.priority = 200;
|
display_handler.priority = 200;
|
||||||
display_handler.get_gpus = xrandr14_get_gpus;
|
display_handler.get_gpus = xrandr14_get_gpus;
|
||||||
|
|
Loading…
Reference in New Issue