[PATCH 4/6] winex11.drv: Add set_screen_size() helper.
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> --- dlls/winex11.drv/xrandr.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/dlls/winex11.drv/xrandr.c b/dlls/winex11.drv/xrandr.c index cc881889430..4bbba15a259 100644 --- a/dlls/winex11.drv/xrandr.c +++ b/dlls/winex11.drv/xrandr.c @@ -466,6 +466,16 @@ static void get_screen_size( XRRScreenResources *resources, unsigned int *width, } } +static void set_screen_size( int width, int height ) +{ + int screen = default_visual.screen; + int mm_width, mm_height; + + mm_width = width * DisplayWidthMM( gdi_display, screen ) / DisplayWidth( gdi_display, screen ); + mm_height = height * DisplayHeightMM( gdi_display, screen ) / DisplayHeight( gdi_display, screen ); + pXRRSetScreenSize( gdi_display, root_window, width, height, mm_width, mm_height ); +} + static LONG xrandr12_set_current_mode( int mode ) { unsigned int screen_width, screen_height; @@ -515,12 +525,7 @@ static LONG xrandr12_set_current_mode( int mode ) get_screen_size( resources, &screen_width, &screen_height ); screen_width = max( screen_width, crtc_info->x + dd_modes[mode].width ); screen_height = max( screen_height, crtc_info->y + dd_modes[mode].height ); - - pXRRSetScreenSize( gdi_display, root_window, screen_width, screen_height, - screen_width * DisplayWidthMM( gdi_display, default_visual.screen ) - / DisplayWidth( gdi_display, default_visual.screen ), - screen_height * DisplayHeightMM( gdi_display, default_visual.screen ) - / DisplayHeight( gdi_display, default_visual.screen )); + set_screen_size( screen_width, screen_height ); status = pXRRSetCrtcConfig( gdi_display, resources, resources->crtcs[primary_crtc], CurrentTime, crtc_info->x, crtc_info->y, xrandr12_modes[mode], -- 2.25.1
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=76044 Your paranoid android. === debiant (32 bit report) === user32: monitor: Timeout msg: Timeout resource: Timeout scroll: Timeout static: Timeout === debiant (build log) === The task timed out === debiant (32 bit WoW report) === user32: monitor: Timeout === debiant (64 bit WoW report) === user32: input.c:2514: Test failed: 4: Unexpected cursor movement input.c:2514: Test failed: 5: Unexpected cursor movement input.c:2514: Test failed: 6: Unexpected cursor movement input.c:2514: Test failed: 7: Unexpected cursor movement input.c:2514: Test failed: 8: Unexpected cursor movement input.c:2235: Test failed: 9: foreground process expected WM_MOUSEMOVE message input.c:2514: Test failed: 9: Unexpected cursor movement input.c:2235: Test failed: 10: foreground process expected WM_MOUSEMOVE message input.c:2514: Test failed: 10: Unexpected cursor movement input.c:2235: Test failed: 11: foreground process expected WM_MOUSEMOVE message input.c:2514: Test failed: 11: Unexpected cursor movement input.c:2235: Test failed: 12: foreground process expected WM_MOUSEMOVE message input.c:2514: Test failed: 12: Unexpected cursor movement input.c:2514: Test failed: 13: Unexpected cursor movement input.c:2514: Test failed: 14: Unexpected cursor movement input.c:2514: Test failed: 15: Unexpected cursor movement input.c:2514: Test failed: 16: Unexpected cursor movement monitor: Timeout msg: Timeout resource: Timeout scroll: Timeout === debiant (build log) === The task timed out
participants (2)
-
Marvin -
Zhiyi Zhang