user32: Wait for graphics driver to be ready in EnumDisplayDevicesW.
It's possible that EnumDisplayDevicesW gets called before graphics driver is loaded. 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
ed6aa17d98
commit
8f45d9a991
|
@ -736,6 +736,18 @@ static void release_display_device_init_mutex( HANDLE mutex )
|
||||||
CloseHandle( mutex );
|
CloseHandle( mutex );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Wait until graphics driver is loaded by explorer */
|
||||||
|
static void wait_graphics_driver_ready(void)
|
||||||
|
{
|
||||||
|
static BOOL ready = FALSE;
|
||||||
|
|
||||||
|
if (!ready)
|
||||||
|
{
|
||||||
|
SendMessageW( GetDesktopWindow(), WM_NULL, 0, 0 );
|
||||||
|
ready = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* map value from system dpi to standard 96 dpi for storing in the registry */
|
/* map value from system dpi to standard 96 dpi for storing in the registry */
|
||||||
static int map_from_system_dpi( int val )
|
static int map_from_system_dpi( int val )
|
||||||
{
|
{
|
||||||
|
@ -4048,6 +4060,7 @@ BOOL WINAPI EnumDisplayDevicesW( LPCWSTR device, DWORD index, DISPLAY_DEVICEW *i
|
||||||
|
|
||||||
TRACE("%s %d %p %#x\n", debugstr_w( device ), index, info, flags);
|
TRACE("%s %d %p %#x\n", debugstr_w( device ), index, info, flags);
|
||||||
|
|
||||||
|
wait_graphics_driver_ready();
|
||||||
mutex = get_display_device_init_mutex();
|
mutex = get_display_device_init_mutex();
|
||||||
|
|
||||||
/* Find adapter */
|
/* Find adapter */
|
||||||
|
|
Loading…
Reference in New Issue