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;