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