BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
-
switch (fdwReason)
{
case DLL_WINE_PREATTACH:
LONG WINAPI TTGetEmbeddingType(HDC hDC, ULONG *status)
{
OUTLINETEXTMETRICW otm;
+ WORD fsType;
TRACE("(%p %p)\n", hDC, status);
if (!status)
return E_PERMISSIONSINVALID;
+ otm.otmfsType = (fsType = otm.otmfsType) & 0xf;
if (otm.otmfsType == LICENSE_INSTALLABLE)
*status = EMBED_INSTALLABLE;
- else if (otm.otmfsType & LICENSE_NOEMBEDDING)
- *status = EMBED_NOEMBEDDING;
- else if (otm.otmfsType & LICENSE_PREVIEWPRINT)
- *status = EMBED_PREVIEWPRINT;
else if (otm.otmfsType & LICENSE_EDITABLE)
*status = EMBED_EDITABLE;
+ else if (otm.otmfsType & LICENSE_PREVIEWPRINT)
+ *status = EMBED_PREVIEWPRINT;
+ else if (otm.otmfsType & LICENSE_NOEMBEDDING)
+ *status = EMBED_NOEMBEDDING;
+ else
+ {
+ WARN("unrecognized flags, %#x\n", otm.otmfsType);
+ *status = EMBED_INSTALLABLE;
+ }
+ TRACE("fsType 0x%04x, status %u\n", fsType, *status);
return E_NONE;
}
*enabled = TRUE;
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, exclusionlistW, 0, GENERIC_READ, &hkey))
- return E_NONE;
+ goto out;
*enabled = TRUE;
ret = ERROR_SUCCESS;
}
RegCloseKey(hkey);
+out:
+ TRACE("embedding %s for %s\n", *enabled ? "enabled" : "disabled", debugstr_a(facename));
return E_NONE;
}
return E_NOFREEMEMORY;
GetOutlineTextMetricsA(hDC, len, otm);
- ret = TTIsEmbeddingEnabledForFacename(otm->otmpFaceName, enabled);
+ ret = TTIsEmbeddingEnabledForFacename((LPCSTR)otm + (ULONG_PTR)otm->otmpFaceName, enabled);
HeapFree(GetProcessHeap(), 0, otm);
return ret;
}
reactos/dll/win32/stdole32.tlb # Synced to WineStaging-1.9.11
reactos/dll/win32/sti # Synced to WineStaging-1.9.23
reactos/dll/win32/sxs # Synced to WineStaging-1.9.11
-reactos/dll/win32/t2embed # Synced to WineStaging-1.9.11
+reactos/dll/win32/t2embed # Synced to WineStaging-1.9.23
reactos/dll/win32/tapi32 # Synced to WineStaging-1.9.11
reactos/dll/win32/traffic # Synced to WineStaging-1.9.11
reactos/dll/win32/twain_32 # Synced to WineStaging-1.9.11