http://bugs.winehq.org/show_bug.cgi?id=19440
Summary: Word Viewer 2003 - Tab button does not work Product: Wine Version: 1.1.26 Platform: PC URL: http://www.microsoft.com/downloads/details.aspx?Family Id=95E24C87-8732-48D5-8689-AB826E7B8FDF&displaylang=en OS/Version: Linux Status: NEW Keywords: download, Installer, regression Severity: minor Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com Blocks: 10147
See bug 10147 for more background.
Tab does not work for word viewer. Focus is started in the edit box, and you can't tab out. If you click on another button somewhere, then you can tab, but as soon as you reach the edit box (for the license info), the control is again 'stuck'.
It's a pretty old regression. I haven't had time to run the regression test yet, but this is a supported app, so perhaps someone will find time to do so...
http://bugs.winehq.org/show_bug.cgi?id=19440
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.2.0
--- Comment #1 from Austin English austinenglish@gmail.com 2009-07-23 21:54:45 --- Supported app + regression => 1.2
http://bugs.winehq.org/show_bug.cgi?id=19440
--- Comment #2 from Austin English austinenglish@gmail.com 2009-11-08 03:49:07 --- Still present.
http://bugs.winehq.org/show_bug.cgi?id=19440
--- Comment #3 from A Wine user RandomAccountName@mail.com 2010-02-18 12:34:05 --- Download link is dead.
http://bugs.winehq.org/show_bug.cgi?id=19440
--- Comment #4 from A Wine user RandomAccountName@mail.com 2010-02-18 12:53:29 --- Is this the same thing?
http://www.microsoft.com/downloads/details.aspx?FamilyID=3657CE88-7CFA-457A-...
It says it was released in 2007, but the installer calls it "Word Viewer 2003" and I think I see this bug affecting it.
http://bugs.winehq.org/show_bug.cgi?id=19440
--- Comment #5 from Austin English austinenglish@gmail.com 2010-02-18 12:54:35 --- That's the 2007 version, though it's very likely that the bug affects the 2007 version as well.
http://bugs.winehq.org/show_bug.cgi?id=19440
--- Comment #6 from A Wine user RandomAccountName@mail.com 2010-02-18 14:18:11 --- I ran the regression test with the 2007 version and got this:
573102ee8856ee142269316b44b4a939d83e5050 is first bad commit commit 573102ee8856ee142269316b44b4a939d83e5050 Author: Dylan Smith dylan.ah.smith@gmail.com Date: Thu Jan 8 00:44:11 2009 -0500
richedit: Fixed implementation of WM_GETDLGCODE message.
This fixes inconsistencies shown in the tests I added for the WM_GETDLGCODE. The tests covered different cases handled by the current implementation in order to show that the native implementation is simpler for all these cases.
:040000 040000 d07f54fe869239c27e22a64b2a60ed005c394d5d 3eb34e767ffe780575a803221e1250354ed22dc2 M dlls
I didn't try reverting it yet.
http://bugs.winehq.org/show_bug.cgi?id=19440
A Wine user RandomAccountName@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |RandomAccountName@mail.com
http://bugs.winehq.org/show_bug.cgi?id=19440
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aeikum@codeweavers.com
http://bugs.winehq.org/show_bug.cgi?id=19440
--- Comment #7 from Andrew Eikum aeikum@codeweavers.com 2010-06-02 10:40:09 --- Created an attachment (id=28519) --> (http://bugs.winehq.org/attachment.cgi?id=28519) Partial, and probably wrong, patch which fixes the bug
Reverting that commit does fix it.
The problem seems to be that the richedit control doesn't handle the VK_TAB WM_KEYDOWN message properly. You can see in the WM_KEYDOWN handler, around editor.c:2294, that the richedit control assumes its parent window is a dialog, since only dialogs handle WM_NEXTDLGCTL. In the case of Word Viewer, the richedit's parent actually uses DefWindowProc, NOT DefDlgProc, so this message gets ignored.
You can see better handling of the tab key in user32/dialog.c:IsDialogMessageW. In here, the WM_NEXTDLGCTL message is sent iff the target window is a dialog, and some manual focus-changing occurs if the target window is not a dialog. I think the richedit control should either be running this code, or have similar logic to this code.
Making a stripped-down copy of the user32 code inside of the richedit VK_TAB handler fixes the bug. However, the stripped-down code is missing some important features, such as detecting if the parent is a dialog (causes test failures) and examining the WM_GETDLGCODE value from the new focus window. The user32 VK_TAB handling code that I copied uses internal user32 data to implement these features. Even if it is possible to recreate the functionality using public functions, this kind of code duplication is bad.
So to avoid code duplication, we want to execute the code in IsDialogMessageW. Fabricating a WM_KEYDOWN message to send to the parent and pushing that through IsDialogMessageW does the trick. But it causes tests to fail, as the parent expects WM_NEXTDLGCTL messages. A test to check if those messages still get sent when the parent isn't a dialog is in order. If they don't, then this patch is probably on the right path. If they do, then I'm probably way off.
http://bugs.winehq.org/show_bug.cgi?id=19440
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
http://bugs.winehq.org/show_bug.cgi?id=19440
Rosanne DiMesio dimesio@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.microsoft.com/do |http://download.microsoft.c |wnloads/details.aspx?Family |om/download/6/a/6/6a689355- |Id=95E24C87-8732-48D5-8689- |b155-4fa7-ad8a-dfe150fe7ac6 |AB826E7B8FDF&displaylang=en |/wordview_en-us.exe
--- Comment #8 from Rosanne DiMesio dimesio@earthlink.net 2010-06-09 10:12:19 --- Updating download link. Word Viewer 2007 is actually Word Viewer 2003 with SP3.
http://bugs.winehq.org/show_bug.cgi?id=19440
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2010-06-10 12:36:38 --- Fixed by 04a6a14c1ff47d71b5a1a0edfd98328e121dea0b.
http://bugs.winehq.org/show_bug.cgi?id=19440
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2010-06-11 12:51:44 --- Closing bugs fixed in 1.2-rc3.
https://bugs.winehq.org/show_bug.cgi?id=19440
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |573102ee8856ee142269316b44b | |4a939d83e5050 CC| |focht@gmx.net URL|http://download.microsoft.c |https://web.archive.org/web |om/download/6/a/6/6a689355- |/20140212100036/http://down |b155-4fa7-ad8a-dfe150fe7ac6 |load.microsoft.com/download |/wordview_en-us.exe |/6/a/6/6a689355-b155-4fa7-a | |d8a-dfe150fe7ac6/wordview_e | |n-us.exe Fixed by SHA1| |04a6a14c1ff47d71b5a1a0edfd9 | |8328e121dea0b Component|-unknown |msi