mirror of
https://github.com/reactos/reactos.git
synced 2024-08-13 06:37:06 +00:00
[WIN32K] Don't call IntIsFontRenderingEnabled() while holding an exclusive GDI object lock.
Should fix GUI hangs. svn path=/trunk/; revision=75582
This commit is contained in:
parent
7607ced6c6
commit
e1e2478e77
|
@ -5111,6 +5111,10 @@ GreExtTextOutW(
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* NOTE: This function locks the screen DC, so it must never be called
|
||||||
|
with a DC already locked */
|
||||||
|
Render = IntIsFontRenderingEnabled();
|
||||||
|
|
||||||
// TODO: Write test-cases to exactly match real Windows in different
|
// TODO: Write test-cases to exactly match real Windows in different
|
||||||
// bad parameters (e.g. does Windows check the DC or the RECT first?).
|
// bad parameters (e.g. does Windows check the DC or the RECT first?).
|
||||||
dc = DC_LockDc(hDC);
|
dc = DC_LockDc(hDC);
|
||||||
|
@ -5238,7 +5242,6 @@ GreExtTextOutW(
|
||||||
EmuBold = (plf->lfWeight >= FW_BOLD && FontGDI->OriginalWeight <= FW_NORMAL);
|
EmuBold = (plf->lfWeight >= FW_BOLD && FontGDI->OriginalWeight <= FW_NORMAL);
|
||||||
EmuItalic = (plf->lfItalic && !FontGDI->OriginalItalic);
|
EmuItalic = (plf->lfItalic && !FontGDI->OriginalItalic);
|
||||||
|
|
||||||
Render = IntIsFontRenderingEnabled();
|
|
||||||
if (Render)
|
if (Render)
|
||||||
RenderMode = IntGetFontRenderMode(plf);
|
RenderMode = IntGetFontRenderMode(plf);
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue