winex11.drv: Add xrandr_get_screen_resources() helper.
Getting screen resources will be used in multiple places. So put it in a function. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
8f45d9a991
commit
95a0a5c755
|
@ -274,6 +274,20 @@ static void xrandr10_init_modes(void)
|
||||||
|
|
||||||
#ifdef HAVE_XRRGETSCREENRESOURCES
|
#ifdef HAVE_XRRGETSCREENRESOURCES
|
||||||
|
|
||||||
|
static XRRScreenResources *xrandr_get_screen_resources(void)
|
||||||
|
{
|
||||||
|
XRRScreenResources *resources = pXRRGetScreenResourcesCurrent( gdi_display, root_window );
|
||||||
|
if (resources && !resources->ncrtc)
|
||||||
|
{
|
||||||
|
pXRRFreeScreenResources( resources );
|
||||||
|
resources = pXRRGetScreenResources( gdi_display, root_window );
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!resources)
|
||||||
|
ERR("Failed to get screen resources.\n");
|
||||||
|
return resources;
|
||||||
|
}
|
||||||
|
|
||||||
static int xrandr12_get_current_mode(void)
|
static int xrandr12_get_current_mode(void)
|
||||||
{
|
{
|
||||||
XRRScreenResources *resources;
|
XRRScreenResources *resources;
|
||||||
|
@ -448,21 +462,8 @@ static int xrandr12_init_modes(void)
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
if (!(resources = pXRRGetScreenResourcesCurrent( gdi_display, root_window )))
|
if (!(resources = xrandr_get_screen_resources()))
|
||||||
{
|
|
||||||
ERR("Failed to get screen resources.\n");
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
|
||||||
|
|
||||||
if (!resources->ncrtc)
|
|
||||||
{
|
|
||||||
pXRRFreeScreenResources( resources );
|
|
||||||
if (!(resources = pXRRGetScreenResources( gdi_display, root_window )))
|
|
||||||
{
|
|
||||||
ERR("Failed to get screen resources.\n");
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(crtc_info = xrandr12_get_primary_crtc_info( resources, &primary_crtc )))
|
if (!(crtc_info = xrandr12_get_primary_crtc_info( resources, &primary_crtc )))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue