[Wine-patches] Use WHITENESS brush for 1x1 pixel bitmaps (temporary hack for eterbug #6294)

Konstantin Kondratyuk kondratyuk на etersoft.ru
Ср Апр 20 18:13:59 MSD 2011


Мне, конечно, стыдно прикладывать такой ужасный хак. Но если ничего не 
сломает, пусть повисит неделю, пока не сделаем нормального решения.

-- 
Best regards,
Konstantin Kondratyuk.
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.etersoft.ru/pipermail/wine-patches/attachments/20110420/0a733b54/attachment.html>
----------- следующая часть -----------
From 9a7a8d46051e674dc314af03b460095b083c3391 Mon Sep 17 00:00:00 2001
From: Konstantin Kondratyuk <kondratyuk на etersoft.ru>
Date: Wed, 20 Apr 2011 18:08:18 +0400
Subject: [PATCH] winex11.drv: Use WHITENESS brush for 1x1 pixel bitmaps
 (temporary hack for eterbug #6294)

---
 dlls/winex11.drv/bitblt.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/dlls/winex11.drv/bitblt.c b/dlls/winex11.drv/bitblt.c
index 1a0b0fb..9c11de5 100644
--- a/dlls/winex11.drv/bitblt.c
+++ b/dlls/winex11.drv/bitblt.c
@@ -1755,6 +1755,13 @@ BOOL CDECL X11DRV_StretchBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
 {
     BOOL result;
 
+    // FIXME: Hack for eterbug #6294, very bad code.
+    if ((widthSrc == 1 && heightSrc == 1) || (widthSrc < 50 && heightSrc > -50 && heightSrc < 0))
+    {
+        FIXME("Use WHITENESS style for white pixel\n");
+        return X11DRV_PatBlt(physDevDst, xDst, yDst, widthDst, heightDst, WHITENESS);
+    }
+
     X11DRV_LockDIBSection( physDevDst, DIB_Status_GdiMod );
     if (physDevDst != physDevSrc)
       X11DRV_LockDIBSection( physDevSrc, DIB_Status_GdiMod );
-- 
1.7.4.4



Подробная информация о списке рассылки Wine-patches