Module: wine
Branch: master
Commit: b37cc08721bb4c60b7842a0d5b1af81fe8820477
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b37cc08721bb4c60b7842a0d5…
Author: H. Verbeet <hverbeet(a)gmail.com>
Date: Thu Jul 10 17:57:35 2008 +0200
wined3d: Don't call shader_select() in depth_blt().
Calling shader_select() from inside depth_blt() isn't necessarily
safe. shader_select() assumes CompileShader() has been called for the
current shaders, but that depends on STATE_VSHADER / STATE_PIXELSHADER
being applied. That isn't always true when depth_blt() gets called,
with the result that sometimes GLSL programs could be created with no
shader objects attached.
---
dlls/wined3d/arb_program_shader.c | 52 ++++++++++++++++++++++++++++++-----
dlls/wined3d/ati_fragment_shader.c | 5 +++
dlls/wined3d/baseshader.c | 2 +
dlls/wined3d/drawprim.c | 6 +---
dlls/wined3d/glsl_shader.c | 14 +++++++++
dlls/wined3d/wined3d_private.h | 3 ++
6 files changed, 69 insertions(+), 13 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=b37cc08721bb4c60b7842…
Module: wine
Branch: master
Commit: db3991257fdb7137f9b0fab5e2a52a183828ff84
URL: http://source.winehq.org/git/wine.git/?a=commit;h=db3991257fdb7137f9b0fab5e…
Author: Dylan Smith <dylan.ah.smith(a)gmail.com>
Date: Thu Jul 10 10:17:43 2008 -0400
richedit: Handle overflow of only spaces on first line of paragraph.
The uncommon case that this patch handles is enough whitespace being
on the first line of a paragraph to cause it to wrap. In this case the
first non-space character will be wrapped onto the next line.
---
dlls/riched20/wrap.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/riched20/wrap.c b/dlls/riched20/wrap.c
index 614c6ac..90dca83 100644
--- a/dlls/riched20/wrap.c
+++ b/dlls/riched20/wrap.c
@@ -358,8 +358,19 @@ static ME_DisplayItem *ME_WrapHandleRun(ME_WrapContext *wc, ME_DisplayItem *p)
pp = ME_SplitByBacktracking(wc, p, loc);
if (pp == wc->pRowStart)
{
- /* we have a row that starts with spaces, or a single large character
- * which we cannot split. */
+ if (run->nFlags & MERF_STARTWHITE)
+ {
+ /* we had only spaces so far, so we must be on the first line of the
+ * paragraph, since no other lines of the paragraph start with spaces. */
+ assert(!wc->nRow);
+ /* The lines will only contain spaces, and the rest of the run will
+ * overflow onto the next line. */
+ wc->bOverflown = TRUE;
+ return p;
+ }
+ /* Couldn't split the first run, possible because we have a large font
+ * with a single character that caused an overflow.
+ */
wc->pt.x += run->nWidth;
return p->next;
}
Module: wine
Branch: master
Commit: feda29bb0c03f3471ba2ea089d7a1b422ca5e334
URL: http://source.winehq.org/git/wine.git/?a=commit;h=feda29bb0c03f3471ba2ea089…
Author: Dylan Smith <dylan.ah.smith(a)gmail.com>
Date: Thu Jul 10 10:17:39 2008 -0400
richedit: Fixed position of runs in some situations during wrapping.
Runs that are skipped over still need to affect the wrapping position,
otherwise they won't affect further run positions.
---
dlls/riched20/wrap.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/riched20/wrap.c b/dlls/riched20/wrap.c
index 34fbf09..614c6ac 100644
--- a/dlls/riched20/wrap.c
+++ b/dlls/riched20/wrap.c
@@ -296,7 +296,7 @@ static ME_DisplayItem *ME_WrapHandleRun(ME_WrapContext *wc, ME_DisplayItem *p)
if (run->nFlags & MERF_WHITESPACE) {
p->member.run.nFlags |= MERF_SKIPPED;
- /* wc->pt.x += run->nWidth; */
+ wc->pt.x += run->nWidth;
/* skip runs consisting of only whitespaces */
return p->next;
}
@@ -358,8 +358,9 @@ static ME_DisplayItem *ME_WrapHandleRun(ME_WrapContext *wc, ME_DisplayItem *p)
pp = ME_SplitByBacktracking(wc, p, loc);
if (pp == wc->pRowStart)
{
- /* we had only spaces so far, entire content can be omitted */
- wc->pt.x = 0;
+ /* we have a row that starts with spaces, or a single large character
+ * which we cannot split. */
+ wc->pt.x += run->nWidth;
return p->next;
}
if (p != pp) /* found a suitable split point */