Re-apply fix to dib16bpp and fix the root cause
Modified: trunk/reactos/subsys/win32k/dib/dib16bpp.c
Modified: trunk/reactos/subsys/win32k/eng/lineto.c
_____
Modified: trunk/reactos/subsys/win32k/dib/dib16bpp.c
--- trunk/reactos/subsys/win32k/dib/dib16bpp.c 2005-06-09 20:18:32 UTC
(rev 15849)
+++ trunk/reactos/subsys/win32k/dib/dib16bpp.c 2005-06-09 20:40:44 UTC
(rev 15850)
@@ -53,7 +53,7 @@
" shl $16, %%eax\n"
" andl $0xffff, %0\n" /* If the pixel value is "abcd", put
"abcdabcd"
in %eax */
" or %0, %%eax\n"
-" test $0x01, %%edi\n" /* Align to fullword boundary */
+" test $0x03, %%edi\n" /* Align to fullword boundary */
" jz .L1\n"
" stosw\n"
" dec %1\n"
_____
Modified: trunk/reactos/subsys/win32k/eng/lineto.c
--- trunk/reactos/subsys/win32k/eng/lineto.c 2005-06-09 20:18:32 UTC
(rev 15849)
+++ trunk/reactos/subsys/win32k/eng/lineto.c 2005-06-09 20:40:44 UTC
(rev 15850)
@@ -381,6 +381,11 @@
deltax = x2 - x1;
deltay = y2 - y1;
+ if (0 == deltax && 0 == deltay)
+ {
+ return TRUE;
+ }
+
if (deltax < 0)
{
xchange = -1;
Show replies by date