Dylan Smith : richedit: Fixed regression that caused endless loop.
Alexandre Julliard
julliard at winehq.org
Fri Jul 18 06:46:29 CDT 2008
Module: wine
Branch: master
Commit: e86a1d623af8daf6c4807198cd53530403454fcc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e86a1d623af8daf6c4807198cd53530403454fcc
Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date: Thu Jul 17 11:55:19 2008 -0400
richedit: Fixed regression that caused endless loop.
---
dlls/riched20/wrap.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/dlls/riched20/wrap.c b/dlls/riched20/wrap.c
index 90dca83..5fe2209 100644
--- a/dlls/riched20/wrap.c
+++ b/dlls/riched20/wrap.c
@@ -338,7 +338,12 @@ static ME_DisplayItem *ME_WrapHandleRun(ME_WrapContext *wc, ME_DisplayItem *p)
/* TAB: we can split before */
if (run->nFlags & MERF_TAB) {
wc->bOverflown = TRUE;
- return p;
+ if (wc->pRowStart == p)
+ /* Don't split before the start of the run, or we will get an
+ * endless loop. */
+ return p->next;
+ else
+ return p;
}
/* graphics: we can split before, if run's width is smaller than row's width */
if ((run->nFlags & MERF_GRAPHICS) && run->nWidth <= wc->nAvailWidth) {
More information about the wine-cvs
mailing list