http://bugs.winehq.org/show_bug.cgi?id=15116
Summary: Google Chrom URL bar does not render properly Product: Wine Version: CVS/GIT Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: royshea@gmail.com
Created an attachment (id=15812) --> (http://bugs.winehq.org/attachment.cgi?id=15812) Test case isolating Google Chrome URL bug
The status bar in Google Chrome is not rendering properly. Google Chrome intercepts the BeginPaint and EndPaint messages for the URL bar (see autocomplete_edit.cc in their chromium source) and uses a memory mapped DC for the bar itself. An initial workaround uses winetricks:
winetricks riched20 riched30
Attached is a small test case that reproduces the bug. It creates a RichWindow view that inherts from CRichEdit. RichWindow intercepts BeginPaint / EndPaint messages and uses a memory mapped DC, as done in Google Chrome. The RichWindow is used in a simple application that displays the same behavior as the Google Chrome URL bar.
http://bugs.winehq.org/show_bug.cgi?id=15116
--- Comment #1 from Roy Shea royshea@gmail.com 2008-09-03 15:28:37 --- Created an attachment (id=15813) --> (http://bugs.winehq.org/attachment.cgi?id=15813) Small program demonstrating same bug as Google URL bar
Here is the executable created by compiling the code posted in attachment 15812.
http://bugs.winehq.org/show_bug.cgi?id=15116
Roy Shea royshea@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Google Chrom URL bar does |Google Chrome URL bar does |not render properly |not render properly
http://bugs.winehq.org/show_bug.cgi?id=15116
Jaime Rave jaimerave@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jaimerave@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=15116
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com Status|UNCONFIRMED |NEW Component|-unknown |richedit Ever Confirmed|0 |1 Keywords| |download, testcase
--- Comment #2 from Dan Kegel dank@kegel.com 2008-09-03 15:48:28 --- Native riched20 works around this, so setting component.
http://bugs.winehq.org/show_bug.cgi?id=15116
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source
http://bugs.winehq.org/show_bug.cgi?id=15116
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |trivial
http://bugs.winehq.org/show_bug.cgi?id=15116
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=15116
--- Comment #3 from Roy Shea royshea@gmail.com 2008-09-03 19:50:50 --- The calls to Patch in RichWindow::RichWindow (located in rich_window.cpp of attachment 15812) are failing. This causes the intercepted versions of BeginPaint and EndPaint to not be called. Thus, the device context setup by RichWindow::OnPaint is not correctly updated.
The call to Patch fails with ERROR_GEN_FAILURE, indicating that the problem stems from InterceptEnumCallbac (located in base/iat_patch.cc). Unless someone beats me to it, I'll narrow down the test tomorrow.
http://bugs.winehq.org/show_bug.cgi?id=15116
--- Comment #4 from Alexandre Julliard julliard@winehq.org 2008-09-04 09:30:50 --- The problem is that the entry point patcher doesn't support Borland-style imports, where the table of imported names is stored directly in FirstThunk and overwritten by the relocation, instead of being stored in OriginalFirstThunk.
http://bugs.winehq.org/show_bug.cgi?id=15116
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2008-09-04 12:35:23 --- Created an attachment (id=15832) --> (http://bugs.winehq.org/attachment.cgi?id=15832) Use MS-style imports instead of Borland-style for builtins.
This should fix it.
http://bugs.winehq.org/show_bug.cgi?id=15116
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
http://bugs.winehq.org/show_bug.cgi?id=15116
--- Comment #6 from Roy Shea royshea@gmail.com 2008-09-04 16:56:00 --- Created an attachment (id=15836) --> (http://bugs.winehq.org/attachment.cgi?id=15836) Conformance test of linking style used in wine DLLs
The problem seems to exist even after applying patch (attachment 15832).
I've attached a short conformance test for wine targeting this problem. For now the test is in kernel32. If that location is okay I'll commit it to wine. It's been tested on both WinXP and Win2K.
http://bugs.winehq.org/show_bug.cgi?id=15116
Roy Shea royshea@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #15836|0 |1 is obsolete| |
--- Comment #7 from Roy Shea royshea@gmail.com 2008-09-04 19:12:21 --- Created an attachment (id=15839) --> (http://bugs.winehq.org/attachment.cgi?id=15839) Revised conformance test of linking style used in wine DLLs
The problem seems to exist even after applying patch (attachment 15832 [details]).
I was mistaken. Forgot to do a clean build to regenerate the wine version of riched20. The patch does fix the problem and the conformance test now passes. I've removed the todo_wine from the conformance test.
With the patch the Google Chrome URL bar is displayed correctly without adding any native riched. Once Alexandre's patch is added and the fix is confirmed we can close this bug.
http://bugs.winehq.org/show_bug.cgi?id=15116
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2008-09-05 09:28:18 --- Fixed by 1abf80909981c9424b8bcc47ea363d02f585bf4f.
http://bugs.winehq.org/show_bug.cgi?id=15116
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2008-09-05 10:39:44 --- Closing bugs fixed in 1.1.4.
http://bugs.winehq.org/show_bug.cgi?id=15116
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified