Alexandre Julliard : gdi32: Fix skipping of zero-length dashes.
Alexandre Julliard
julliard at winehq.org
Wed Jan 4 13:52:59 CST 2012
Module: wine
Branch: master
Commit: 618425ac4c405aaa28aa30d787e119ae6c605996
URL: http://source.winehq.org/git/wine.git/?a=commit;h=618425ac4c405aaa28aa30d787e119ae6c605996
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Jan 4 14:57:52 2012 +0100
gdi32: Fix skipping of zero-length dashes.
---
dlls/gdi32/dibdrv/objects.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/dlls/gdi32/dibdrv/objects.c b/dlls/gdi32/dibdrv/objects.c
index dffea12..ee58192 100644
--- a/dlls/gdi32/dibdrv/objects.c
+++ b/dlls/gdi32/dibdrv/objects.c
@@ -779,7 +779,7 @@ void reset_dash_origin(dibdrv_physdev *pdev)
static inline void skip_dash(dibdrv_physdev *pdev, unsigned int skip)
{
skip %= pdev->pen_pattern.total_len;
- while(skip)
+ do
{
if(pdev->dash_pos.left_in_dash > skip)
{
@@ -792,6 +792,7 @@ static inline void skip_dash(dibdrv_physdev *pdev, unsigned int skip)
pdev->dash_pos.left_in_dash = pdev->pen_pattern.dashes[pdev->dash_pos.cur_dash];
pdev->dash_pos.mark = !pdev->dash_pos.mark;
}
+ while (skip);
}
static void dashed_pen_line_callback(dibdrv_physdev *pdev, INT x, INT y)
More information about the wine-cvs
mailing list