Thank Nicolas for your clarify.
Today I find the exception in
AutocompleteEditViewWin::EraseTopOfSelection is caused by the rong
compiler option of 2.0.172.28 official build.
autocomplete_edit_view_win.cc:
HDC BeginPaintIntercept(HWND hWnd, LPPAINTSTRUCT lpPaint) {
BOOL EndPaintIntercept(HWND hWnd, const PAINTSTRUCT* lpPaint) {
These two intercepting win32 API are not explicitly defined as
__stdcall, and are wrongly compiled as __cdecl:
chrome_1c30000!`anonymous namespace'::BeginPaintIntercept:
021ea88f
021ea8b5 c3 ret
021ea8c4 c3 ret
chrome_1c30000!`anonymous namespace'::EndPaintIntercept:
021ea8c5
021ea8d7 c3 ret
021ea8e6 c3 ret
This is harmless on windows XP, because the corrupted esp is restored
by riched20!RichEditWndProc's leave instruction, and the corrupted esi/
edi/ebx are restored by USER32!InternalCallWinProc.
But it's a disaster on windows 2000, because the corrupted ebx (which
keeps the AutocompleteEditViewWin this point in
AutocompleteEditViewWin::OnPaint) is not restored by USER32!
UserCallWinProc or by USER32!CallWindowProcAorW.
Nicolas Sylvain wrote:
> I filed this bug with this comment:--
> TabRestoreUITest.RestoreToDifferentWindow fails on win2k debug. I disabled
> it.
>
> This is not reproducible outside the buildbot environment.
>
> The problem seems to be that chrome cannot access a font. I was not able to
> determine what the font was.
> ---
>
> Later on I fixed it, but forgot to remove the comment.
>
> This bug was only for debug mode, it should not matter for release mode.
>
> Nicolas
--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected]
View archives, change email options, or unsubscribe:
http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---