From 5a47d0b0adee83683d714f37bb37d559bbe847a2 Mon Sep 17 00:00:00 2001 From: Colin Finck Date: Wed, 28 May 2008 21:41:41 +0000 Subject: [PATCH] Sync usp10 with Wine again, fixes the corrupted text display in AbiWord. Thanks to CMan for regression-testing! Also I removed Magnus' change in r33700. If this is really required, please name the reason and add the change to a usp10_ros.diff file as this is a Wine-synched component. Also don't forget to include a header file for the DbgPrint prototype. See issue #3280 for more details. svn path=/trunk/; revision=33749 --- reactos/dll/win32/usp10/usp10.c | 17 ++--------------- reactos/dll/win32/usp10/usp10.spec | 2 +- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/reactos/dll/win32/usp10/usp10.c b/reactos/dll/win32/usp10/usp10.c index 8980a823488..57e6611ab72 100644 --- a/reactos/dll/win32/usp10/usp10.c +++ b/reactos/dll/win32/usp10/usp10.c @@ -1407,27 +1407,22 @@ HRESULT WINAPI ScriptTextOut(const HDC hdc, SCRIPT_CACHE *psc, int x, int y, UIN int iReserved, const WORD *pwGlyphs, int cGlyphs, const int *piAdvance, const int *piJustify, const GOFFSET *pGoffset) { - HFONT hfont; HRESULT hr = S_OK; TRACE("(%p, %p, %d, %d, %04x, %p, %p, %p, %d, %p, %d, %p, %p, %p)\n", hdc, psc, x, y, fuOptions, lprc, psa, pwcReserved, iReserved, pwGlyphs, cGlyphs, piAdvance, piJustify, pGoffset); - if (!hdc && psc && !*psc) return E_INVALIDARG; + if (!hdc || !psc) return E_INVALIDARG; if (!piAdvance || !psa || !pwGlyphs) return E_INVALIDARG; - if ((hr = get_script_cache(hdc, psc))) return hr; - - hfont = select_cached_font(psc); fuOptions &= ETO_CLIPPED + ETO_OPAQUE; if (!psa->fNoGlyphIndex) /* Have Glyphs? */ fuOptions |= ETO_GLYPH_INDEX; /* Say don't do translation to glyph */ - if (!ExtTextOutW(get_cache_hdc(psc), x, y, fuOptions, lprc, pwGlyphs, cGlyphs, NULL)) + if (!ExtTextOutW(hdc, x, y, fuOptions, lprc, pwGlyphs, cGlyphs, NULL)) hr = S_FALSE; - unselect_cached_font(psc, hfont); return hr; } @@ -1731,11 +1726,3 @@ HRESULT WINAPI ScriptGetLogicalWidths(const SCRIPT_ANALYSIS *sa, int nbchars, in for (i = 0; i < nbchars; i++) widths[i] = glyph_width[i]; return S_OK; } - - -VOID WINAPI LpkPresent() -{ - /* FIXME */ - DbgPrint("LPK: %s is unimplemented, please try again later.\n", __FUNCTION__); -} - diff --git a/reactos/dll/win32/usp10/usp10.spec b/reactos/dll/win32/usp10/usp10.spec index d901a9aca9f..ac1506e9df0 100644 --- a/reactos/dll/win32/usp10/usp10.spec +++ b/reactos/dll/win32/usp10/usp10.spec @@ -1,4 +1,4 @@ -@ stdcall LpkPresent() +@ stub LpkPresent @ stdcall ScriptApplyDigitSubstitution(ptr ptr ptr) @ stub ScriptApplyLogicalWidth @ stdcall ScriptBreak(ptr long ptr ptr) -- 2.17.1