Skip to content
Snippets Groups Projects
Commit 123d2669 authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard
Browse files

Do not hold the GDI lock while 16-bit ExtDeviceMode is called.

parent b56a2ef7
No related branches found
No related tags found
No related merge requests found
...@@ -378,6 +378,7 @@ INT WINAPI GDI_CallExtDeviceMode16( HWND hwnd, ...@@ -378,6 +378,7 @@ INT WINAPI GDI_CallExtDeviceMode16( HWND hwnd,
HDC hdc; HDC hdc;
DC *dc; DC *dc;
INT ret = -1; INT ret = -1;
INT (*pExtDeviceMode)(LPSTR,HWND,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,DWORD);
TRACE("(%04x, %p, %s, %s, %p, %s, %ld)\n", TRACE("(%04x, %p, %s, %s, %p, %s, %ld)\n",
hwnd, lpdmOutput, lpszDevice, lpszPort, lpdmInput, lpszProfile, fwMode ); hwnd, lpdmOutput, lpszDevice, lpszPort, lpdmInput, lpszProfile, fwMode );
...@@ -388,10 +389,11 @@ INT WINAPI GDI_CallExtDeviceMode16( HWND hwnd, ...@@ -388,10 +389,11 @@ INT WINAPI GDI_CallExtDeviceMode16( HWND hwnd,
if ((dc = DC_GetDCPtr( hdc ))) if ((dc = DC_GetDCPtr( hdc )))
{ {
if (dc->funcs->pExtDeviceMode) pExtDeviceMode = dc->funcs->pExtDeviceMode;
ret = dc->funcs->pExtDeviceMode(buf, hwnd, lpdmOutput, lpszDevice, lpszPort, GDI_ReleaseObj( hdc );
if (pExtDeviceMode)
ret = pExtDeviceMode(buf, hwnd, lpdmOutput, lpszDevice, lpszPort,
lpdmInput, lpszProfile, fwMode); lpdmInput, lpszProfile, fwMode);
GDI_ReleaseObj( hdc );
} }
DeleteDC( hdc ); DeleteDC( hdc );
return ret; return ret;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment