riched20.dll asserts

Ulrich Czekalla ulrich.czekalla at utoronto.ca
Wed Sep 28 10:57:41 CDT 2005


Hi Aric,

Could you try the attached patch. I must admit I don't fully understand the
underlying data structures but I think this patch fixes the problem.

/Ulrich

On Tue, Sep 27, 2005 at 11:36:58AM -0500, Aric Stewart wrote:
> Hello,
> 
> So looking into an issue with IE6 i found the following problem.
> 
> If I install IE6, and then go to a japanese web site. (for example 
> http://www.mainichi.co.jp) I get given the option to download and 
> install the Japanese Text Display Support. However if i click Download 
> then the download reports as a failure (a message about having to set 
> your security settings from High to Medium, but that is a red herring)
> 
> The issue is that the assert in riched20/run.c line 115 is being hit 
> during a call to RichEditANSIWndProc for the message EM_LINELENGTH. If i 
> change the assert to instead to return 0, then the certificate dialog is 
> displayed and the download progresses without issue.   (there is still 
> an issue with the install but that is not richedit related)
> 
> Does someone with richedit experience want to help figure out what to do 
> with that assert beyond just changing it to an error trace and returning 0?
> 
> thanks
> -aric
> 
> 
> 
-------------- next part --------------
Index: dlls/riched20/editor.c
===================================================================
RCS file: /cvstrees/crossover/office/wine/dlls/riched20/editor.c,v
retrieving revision 1.1.1.17
diff -u -p -r1.1.1.17 editor.c
--- dlls/riched20/editor.c	15 Sep 2005 15:40:27 -0000	1.1.1.17
+++ dlls/riched20/editor.c	28 Sep 2005 15:53:30 -0000
@@ -1634,6 +1634,7 @@ LRESULT WINAPI RichEditANSIWndProc(HWND 
     item = ME_FindItemAtOffset(editor, diRun, wParam, NULL);
     item = ME_RowStart(item);
     item_end = ME_RowEnd(item);
+    item = ME_FindItemFwd(item, diRun);
     if (!item_end)
     {
       /* Empty buffer, no runs */
Index: dlls/riched20/row.c
===================================================================
RCS file: /cvstrees/crossover/office/wine/dlls/riched20/row.c,v
retrieving revision 1.1.1.3
diff -u -p -r1.1.1.3 row.c
--- dlls/riched20/row.c	30 Aug 2005 12:43:11 -0000	1.1.1.3
+++ dlls/riched20/row.c	28 Sep 2005 15:53:30 -0000
@@ -80,7 +80,7 @@ ME_DisplayItem *ME_RowStart(ME_DisplayIt
 ME_DisplayItem *ME_RowEnd(ME_DisplayItem *item) {
   ME_DisplayItem *item2 = ME_FindItemFwd(item, diStartRowOrParagraphOrEnd);
   if (!item2) return NULL;
-  return ME_FindItemBack(item, diRun);
+  return ME_FindItemBack(item2, diRun);
 }
 
 


More information about the wine-devel mailing list