http://bugs.winehq.org/show_bug.cgi?id=16349
Summary: Text is garbled in Teach 2000 Product: Wine Version: 1.1.10 Platform: PC URL: http://teach2000.memtrain.com OS/Version: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: richedit AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
Created an attachment (id=17663) --> (http://bugs.winehq.org/attachment.cgi?id=17663) +richedit builtin
Screenshot says it all, but to summarize:
type: "foo = bar" in main window (no quotes)
Comes out as: {\rtf1\aransi\ansicpg1252\deff0\deflang1043{\fonttbl{\f0\froman\fprq2\fcharset1 Tahoma;}{\f1\fswiss\fcharset0 Arial;}{\f2\fswiss\fprq2\fcharset1 Tahoma;}} {\colortbl ;\red0\green0\blue255;\red255\green0\blue0;} {*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs24 '7B'5Crtf b1'5Cansi'5Cansicpg1252'5Cdeff0'5Cdeflang1043'7B'5Cfonttbl'7B'5Cf0'5Cfroman'5Cfprq2'5Cfcharset1 Tahoma\cf1 ;\cf0 '7D'7B'5Cf1'5Cfswiss'5Cfcharset0 Arial\cf1 ;\cf0 '7D'7B'5Cf2'5Cfswiss'5Cfprq2'5Cfcharset1 Tahoma\cf1 ;\cf0 '7D
Unless you use native riched20.
+richedit under native and builtin attached
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #1 from Austin English austinenglish@gmail.com 2008-12-05 16:34:36 --- Created an attachment (id=17664) --> (http://bugs.winehq.org/attachment.cgi?id=17664) +richedit native
http://bugs.winehq.org/show_bug.cgi?id=16349
bas teach2000@basement.nl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |teach2000@basement.nl
--- Comment #2 from bas teach2000@basement.nl 2008-12-18 03:30:42 --- This is a showstopper for Teach2000 on Wine.
It worked well in versions before 1.1.0.0.
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #3 from Jeff Zaroyko jeffz@jeffz.name 2008-12-18 03:44:34 --- (In reply to comment #2)
This is a showstopper for Teach2000 on Wine.
It worked well in versions before 1.1.0.0.
You can help by running a regression test http://wiki.winehq.org/RegressionTesting
http://bugs.winehq.org/show_bug.cgi?id=16349
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
--- Comment #4 from Austin English austinenglish@gmail.com 2008-12-18 08:52:53 --- (In reply to comment #2)
This is a showstopper for Teach2000 on Wine.
It worked well in versions before 1.1.0.0.
Which was the last working version and which was the first broken version that you know of?
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #5 from bas teach2000@basement.nl 2008-12-18 09:53:33 --- I don't know the version that introduced this problem. Teach2000 has been changed and Wine has been changed.
I created a small test application to make the test as easy as possible.
Download the following Win32 application: http://www.basement.nl/temp/Project12.exe This is the RichEdit wrapper component used in Teach2000.
Step 1: Start Project12.exe in Wine. Put the cursor somewhere in the text box and press the button 'b'.
Exp: The code [b] is inserted at the cursor and the text after the cursor is Bold. Act: The text after the cursor disappears.
Step 2: Clear the text box and enter the text 'foo = bar'.
Exp: The text foo = bar is shown, with a blue '='. Act: The text disappears and 'oo bar' is visible.
Tested with Wine version 1.0. Later versions have this problem too.
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #6 from Austin English austinenglish@gmail.com 2008-12-18 09:55:17 --- (In reply to comment #5)
I don't know the version that introduced this problem. Teach2000 has been changed and Wine has been changed.
I created a small test application to make the test as easy as possible.
Can you attach the source? Or better yet, write a conformance test: http://wiki.winehq.org/ConformanceTests
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #7 from bas teach2000@basement.nl 2008-12-18 10:00:37 --- This is the source of the test application:
procedure TForm13.RichEdit1SelectionChange(Sender: TObject); begin if fsBold in T2KInputEdit1.SelAttributes.Style then Caption := 'Fontstyle: [Bold]' else Caption := 'Fontstyle: []'; end;
procedure TForm13.SpeedButton1Click(Sender: TObject); begin if fsBold in T2KInputEdit1.SelAttributes.Style then T2KInputEdit1.AddStyleToSelection(fsBold, False) else T2KInputEdit1.AddStyleToSelection(fsBold, True); end;
http://bugs.winehq.org/show_bug.cgi?id=16349
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source
--- Comment #8 from Austin English austinenglish@gmail.com 2008-12-18 10:01:45 --- Dylan, mind having a look?
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #9 from Dylan Smith dylan.ah.smith@gmail.com 2008-12-19 22:55:30 --- Created an attachment (id=18085) --> (http://bugs.winehq.org/attachment.cgi?id=18085) Reverses the change that caused the regression
I tested with the Project12.exe program, and can confirm the problem.
What is happening is that an EM_STREAMIN message is sent to the richedit control when the "b" button is pressed, but then an error seems to be occuring that is causing the program to try to send the message again in plain text.
I tested from wine-1.0 and found that there was a regression, however it wasn't working properly in that version either.
I found that the much of the text was deleted when the "b" button is pressed.
--- before --- Wine RichEdit selection bug. Click the button /b/ to make (a part of) this text Bold.
Bold is displayed as BBCode, semi WYSIWYG. --- after ---- Wine RichEdit selection bug --------------
Was this ever completely working?
I did a git-bisect and found this regression caused by commit 632015dc626f85a61165eab89c976c0fef730a9c. I am attaching a patch that reverses the part of the commit that caused this regression.
I still need to investigate this more to figure out why text is being deleted after reversing this change, and why reporting this error is causing a problem, but I figured I should report my findings so far before I head to my parent's home for Christmas holidays.
http://bugs.winehq.org/show_bug.cgi?id=16349
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
http://bugs.winehq.org/show_bug.cgi?id=16349
Dylan Smith dylan.ah.smith@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dylan.ah.smith@gmail.com
--- Comment #10 from Dylan Smith dylan.ah.smith@gmail.com 2008-12-22 11:05:50 --- I looked into this a bit more, and found that it probably isn't a bug in handling EM_STREAMIN. I found that the rich text being streamed in when processing EM_STREAMIN was truncated for builtin richedit, but not for native richedit.
I added some print statements to SPY_DumpStructure for EM_STREAMIN to dump the rich text before being given to the EM_STREAMIN processing code in the richedit controls. I also recorded the error returned (since no rich text would be left for either control), which was consistent between native and builtin. I got the following inconsistent rich text.
---------- RTF streamed in to Wine ---------- {\rtf1\ansi\ansicpg1252\deff0\deflang1043{\fonttbl{\f0\froman\fprq2\fcharset1 Tahoma;}{\f1\fswiss\fcharset0 Arial;}{\f2\fswiss\fprq2\fcharset1 Tahoma;}}
{\colortbl ;\red0\green0\blue255;\red255\green0\blue0;}
{*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\tx3408\f0\fs16 Wine RichEdit selection bug ---------- RTF streamed in to Windows ---------- {\rtf1\ansi\ansicpg1252\deff0\deflang1043{\fonttbl{\f0\froman\fprq2\fcharset1 Tahoma;}{\f1\fswiss\fcharset0 Arial;}{\f2\fswiss\fprq2\fcharset1 Tahoma;}}
{\colortbl ;\red0\green0\blue255;\red255\green0\blue0;}
{*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\tx3408\f0\fs16 Wine RichEdit selection bug.\f0\par
Click the button /b/ to make (a part of) this text Bold.\f0\par
\f0\par
Bold is displayed as BBCode, semi WYSIWYG.\f0\par
\cf1 [b]\b \cf0 \b0 \f0\par
} ----------------------------------------
There must be some other problem before the EM_STREAMIN message is sent that is causing the rich text to be truncated.
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #11 from Dylan Smith dylan.ah.smith@gmail.com 2009-01-02 13:06:39 --- Created an attachment (id=18405) --> (http://bugs.winehq.org/attachment.cgi?id=18405) Prevents text from being truncated
The text was being garbled because a null terminating character was being inserted at the end of the lines. This caused the rich text to be truncated being being streamed in, and thus was invalid since it didn't have a closing bracket. This patch fixes this issue.
There still seems to be a problem with the text not being bold after pressing the "b" button then typing text.
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #12 from Austin English austinenglish@gmail.com 2009-01-02 16:06:37 --- (In reply to comment #11)
Created an attachment (id=18405)
--> (http://bugs.winehq.org/attachment.cgi?id=18405) [details]
Prevents text from being truncated
The text was being garbled because a null terminating character was being inserted at the end of the lines. This caused the rich text to be truncated being being streamed in, and thus was invalid since it didn't have a closing bracket. This patch fixes this issue.
There still seems to be a problem with the text not being bold after pressing the "b" button then typing text.
Thanks Dylan!
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #13 from bas teach2000@basement.nl 2009-01-03 16:17:45 --- Thanks! I think the "bold problem" is related to bug #16597. I attached the source to show what happens there.
What is the procedure to get this fix in Wine?
http://bugs.winehq.org/show_bug.cgi?id=16349
Jaime Rave jaimerave@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jaimerave@gmail.com
--- Comment #14 from Jaime Rave jaimerave@gmail.com 2009-01-03 16:22:20 --- Patch was commited. Try with current GIT.
http://bugs.winehq.org/show_bug.cgi?id=16349
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #15 from Austin English austinenglish@gmail.com 2009-01-03 17:23:34 --- Yep, works great. Thanks again Dylan!
http://bugs.winehq.org/show_bug.cgi?id=16349
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #16 from Alexandre Julliard julliard@winehq.org 2009-01-16 10:39:08 --- Closing bugs fixed in 1.1.13.
http://bugs.winehq.org/show_bug.cgi?id=16349
--- Comment #17 from bas teach2000@basement.nl 2009-01-17 07:01:56 --- Thanks! This fix makes me happy!