On 2017-02-24 02:52, hbelusca@svn.reactos.org wrote:
@@ -4419,12 +4422,31 @@ LPCWSTR UnSafepwc = pwc; LPWORD UnSafepgi = pgi;
- if ((!UnSafepwc) && (!UnSafepgi)) return cwc;
- if ((UnSafepwc == NULL) || (UnSafepgi == NULL))
- /* Check for integer overflow */
- if (cwc & 0x80000000) // (INT_MAX + 1) == INT_MIN
return GDI_ERROR;- if (!UnSafepwc && !UnSafepgi)
return cwc;- if (!UnSafepwc || !UnSafepgi) { DPRINT1("UnSafepwc == %p, UnSafepgi = %p\n", UnSafepwc, UnSafepgi);
return -1;
return GDI_ERROR;- }
- // TODO: Special undocumented case!
- if (!pwc && !pgi && (cwc == 0))
Why the sudden switch away from using the Unsafe version?
{
DPRINT1("ERR: NtGdiGetGlyphIndicesW with (!pwc && !pgi && (cwc == 0)) is UNIMPLEMENTED!\n");return 0;}
// FIXME: This is a hack!! (triggered by e.g. Word 2010). See CORE-12825
if (cwc == 0)
{
DPRINT1("ERR: NtGdiGetGlyphIndicesW with (cwc == 0) is UNIMPLEMENTED!\n");return GDI_ERROR;}
dc = DC_LockDc(hdc);