* Sync with Wine 1.5.26.

svn path=/trunk/; revision=58611
This commit is contained in:
Amine Khaldi 2013-03-26 19:16:32 +00:00
parent f9f8940500
commit b67b211b59
4 changed files with 23 additions and 18 deletions

View file

@ -749,7 +749,8 @@ BOOL BIDI_DetermineLevels(
) )
{ {
WORD *chartype; WORD *chartype;
unsigned baselevel = 0,j; unsigned baselevel = 0;
INT j;
TRACE("%s, %d\n", debugstr_wn(lpString, uCount), uCount); TRACE("%s, %d\n", debugstr_wn(lpString, uCount), uCount);
chartype = HeapAlloc(GetProcessHeap(), 0, uCount * sizeof(WORD)); chartype = HeapAlloc(GetProcessHeap(), 0, uCount * sizeof(WORD));

View file

@ -931,7 +931,7 @@ static void mark_invalid_combinations(HDC hdc, const WCHAR* pwcChars, INT cChars
context_type[i] = lex(pwcChars[i]); context_type[i] = lex(pwcChars[i]);
GetGlyphIndicesW(hdc, &invalid, 1, &invalid_glyph, 0); GetGlyphIndicesW(hdc, &invalid, 1, &invalid_glyph, 0);
for (i = 1, g=1; i < cChars; i++, g++) for (i = 1, g=1; i < cChars - 1; i++, g++)
{ {
if (context_type[i] != 0 && context_type[i+write_dir]==context_type[i]) if (context_type[i] != 0 && context_type[i+write_dir]==context_type[i])
{ {

View file

@ -1017,13 +1017,14 @@ HRESULT WINAPI ScriptFreeCache(SCRIPT_CACHE *psc)
if (psc && *psc) if (psc && *psc)
{ {
unsigned int i; unsigned int i;
INT n;
for (i = 0; i < GLYPH_MAX / GLYPH_BLOCK_SIZE; i++) for (i = 0; i < GLYPH_MAX / GLYPH_BLOCK_SIZE; i++)
{ {
heap_free(((ScriptCache *)*psc)->widths[i]); heap_free(((ScriptCache *)*psc)->widths[i]);
} }
for (i = 0; i < 0x10; i++) for (i = 0; i < 0x10; i++)
{ {
int j; unsigned int j;
if (((ScriptCache *)*psc)->page[i]) if (((ScriptCache *)*psc)->page[i])
for (j = 0; j < GLYPH_MAX / GLYPH_BLOCK_SIZE; j++) for (j = 0; j < GLYPH_MAX / GLYPH_BLOCK_SIZE; j++)
heap_free(((ScriptCache *)*psc)->page[i]->glyphs[j]); heap_free(((ScriptCache *)*psc)->page[i]->glyphs[j]);
@ -1033,20 +1034,20 @@ HRESULT WINAPI ScriptFreeCache(SCRIPT_CACHE *psc)
heap_free(((ScriptCache *)*psc)->GDEF_Table); heap_free(((ScriptCache *)*psc)->GDEF_Table);
heap_free(((ScriptCache *)*psc)->CMAP_Table); heap_free(((ScriptCache *)*psc)->CMAP_Table);
heap_free(((ScriptCache *)*psc)->GPOS_Table); heap_free(((ScriptCache *)*psc)->GPOS_Table);
for (i = 0; i < ((ScriptCache *)*psc)->script_count; i++) for (n = 0; n < ((ScriptCache *)*psc)->script_count; n++)
{ {
int j; int j;
for (j = 0; j < ((ScriptCache *)*psc)->scripts[i].language_count; j++) for (j = 0; j < ((ScriptCache *)*psc)->scripts[n].language_count; j++)
{ {
int k; int k;
for (k = 0; k < ((ScriptCache *)*psc)->scripts[i].languages[j].feature_count; k++) for (k = 0; k < ((ScriptCache *)*psc)->scripts[n].languages[j].feature_count; k++)
heap_free(((ScriptCache *)*psc)->scripts[i].languages[j].features[k].lookups); heap_free(((ScriptCache *)*psc)->scripts[n].languages[j].features[k].lookups);
heap_free(((ScriptCache *)*psc)->scripts[i].languages[j].features); heap_free(((ScriptCache *)*psc)->scripts[n].languages[j].features);
} }
for (j = 0; j < ((ScriptCache *)*psc)->scripts[i].default_language.feature_count; j++) for (j = 0; j < ((ScriptCache *)*psc)->scripts[n].default_language.feature_count; j++)
heap_free(((ScriptCache *)*psc)->scripts[i].default_language.features[j].lookups); heap_free(((ScriptCache *)*psc)->scripts[n].default_language.features[j].lookups);
heap_free(((ScriptCache *)*psc)->scripts[i].default_language.features); heap_free(((ScriptCache *)*psc)->scripts[n].default_language.features);
heap_free(((ScriptCache *)*psc)->scripts[i].languages); heap_free(((ScriptCache *)*psc)->scripts[n].languages);
} }
heap_free(((ScriptCache *)*psc)->scripts); heap_free(((ScriptCache *)*psc)->scripts);
heap_free(((ScriptCache *)*psc)->otm); heap_free(((ScriptCache *)*psc)->otm);
@ -2534,8 +2535,9 @@ HRESULT WINAPI ScriptCPtoX(int iCP,
if (check >= cChars && !iMaxPos) if (check >= cChars && !iMaxPos)
{ {
for (check = clust; check < cChars; check++) int glyph;
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, check, 1); for (glyph = clust; glyph < cGlyphs; glyph++)
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, glyph, 1);
iSpecial = item; iSpecial = item;
special_size /= (cChars - item); special_size /= (cChars - item);
iPosX += special_size; iPosX += special_size;
@ -2666,8 +2668,9 @@ HRESULT WINAPI ScriptXtoCP(int iX,
if (check >= cChars && direction > 0) if (check >= cChars && direction > 0)
{ {
for (check = clust; check < cChars; check++) int glyph;
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, check, direction); for (glyph = clust; glyph < cGlyphs; glyph++)
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, glyph, direction);
iSpecial = item; iSpecial = item;
special_size /= (cChars - item); special_size /= (cChars - item);
iPosX += special_size; iPosX += special_size;
@ -2841,7 +2844,8 @@ HRESULT WINAPI ScriptShapeOpenType( HDC hdc, SCRIPT_CACHE *psc,
SCRIPT_GLYPHPROP *pOutGlyphProps, int *pcGlyphs) SCRIPT_GLYPHPROP *pOutGlyphProps, int *pcGlyphs)
{ {
HRESULT hr; HRESULT hr;
unsigned int i,g; int i;
unsigned int g;
BOOL rtl; BOOL rtl;
int cluster; int cluster;

View file

@ -180,7 +180,7 @@ reactos/dll/win32/unicows # Synced to Wine-1.3.32 (Win9x only, why do we
reactos/dll/win32/updspapi # Synced to Wine-1.5.4 reactos/dll/win32/updspapi # Synced to Wine-1.5.4
reactos/dll/win32/url # Synced to Wine-1.5.19 reactos/dll/win32/url # Synced to Wine-1.5.19
reactos/dll/win32/urlmon # Synced to Wine-1.5.26 reactos/dll/win32/urlmon # Synced to Wine-1.5.26
reactos/dll/win32/usp10 # Synced to Wine-1.5.24 reactos/dll/win32/usp10 # Synced to Wine-1.5.26
reactos/dll/win32/uxtheme # Forked reactos/dll/win32/uxtheme # Forked
reactos/dll/win32/version # Autosync reactos/dll/win32/version # Autosync
reactos/dll/win32/wer # Autosync reactos/dll/win32/wer # Autosync