On Tuesday 29 April 2008 06:15:23 Guy Albertelli wrote:
Application does most of the Script... calls under one hdc then deletes it prior to calling the ScriptTextOut with the original hdc.
Out of curiosity, which app is that? What are the symptoms? I tested your patch on some of the apps I know that use usp10 (TomTom HOME, Firefox, PAF5) and didn't see any obvious regressions.
- if (!ExtTextOutW(get_cache_hdc(psc), x, y, fuOptions, lprc, pwGlyphs, cGlyphs, NULL))
- if (!ExtTextOutW(hdc, x, y, fuOptions, lprc, pwGlyphs, cGlyphs, NULL))
You should also get rid of the calls to get_script_cache and un/select_cached_font; they are redundant now.
-Hans
On Tue, 2008-04-29 at 11:12 +0200, Hans Leidekker wrote:
On Tuesday 29 April 2008 06:15:23 Guy Albertelli wrote:
Application does most of the Script... calls under one hdc then deletes it prior to calling the ScriptTextOut with the original hdc.
Out of curiosity, which app is that? What are the symptoms? I tested your patch on some of the apps I know that use usp10 (TomTom HOME, Firefox, PAF5) and didn't see any obvious regressions.
The application is HP's Service Center. It used to be Peregrine's Service Center until HP bought them. The symptom was that all the text boxes showing the text of problems and changes were blank until I found this. Apparently part of the application is Eclispe based (SWT_Window0) and those were the windows where the Scriptxxxx was being used to draw.
- if (!ExtTextOutW(get_cache_hdc(psc), x, y, fuOptions, lprc, pwGlyphs, cGlyphs, NULL))
- if (!ExtTextOutW(hdc, x, y, fuOptions, lprc, pwGlyphs, cGlyphs, NULL))
You should also get rid of the calls to get_script_cache and un/select_cached_font; they are redundant now.
This was not intuitively obvious to me. I will construct an additional patch to clean that up. It should apply on top of this one.
-Hans