[Pkg-remote-commits] [freerdp] 07/11: Import Debian patch 1.0.1-1.1+deb7u1

Mike Gabriel sunweaver at debian.org
Wed Nov 30 13:01:15 UTC 2016


This is an automated email from the git hooks/post-receive script.

sunweaver pushed a commit to branch debian/wheezy/updates
in repository freerdp.

commit 14e55a67c1bcea3c15ba0cc3258c7874129e6ea5
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Thu Apr 17 12:13:31 2014 +0200

    Import Debian patch 1.0.1-1.1+deb7u1
---
 debian/changelog                |  13 +++
 debian/libfreerdp1.symbols      |   4 +
 debian/patches/PatBlt_DPa.patch | 203 ++++++++++++++++++++++++++++++++++++++++
 debian/patches/series           |   1 +
 4 files changed, 221 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 7ad6206..ce58956 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+freerdp (1.0.1-1.1+deb7u1) testing-proposed-updates; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/patches/PatBlt_DPa.patch:
+    - Cherry-pick patch from upstream repository to implement PatBlt
+      operation, to fix random crash of clients when attached to RDP
+      sessions (Closes: #662854).
+  * debian/libfreerdp1.symbols:
+    - PatBlt operation support added new symbols, reflect this into
+      symbols file accordingly.
+
+ -- Luca Falavigna <dktrkranz at debian.org>  Tue, 01 Jan 2013 17:52:50 +0100
+
 freerdp (1.0.1-1.1) unstable; urgency=low
 
   [ gregor herrmann <gregoa at debian.org> ]
diff --git a/debian/libfreerdp1.symbols b/debian/libfreerdp1.symbols
index fa869ed..867d92a 100644
--- a/debian/libfreerdp1.symbols
+++ b/debian/libfreerdp1.symbols
@@ -1079,6 +1079,8 @@ libfreerdp-gdi.so.1.0 libfreerdp1 #MINVER#
  gdi_bitmap_new_ex at Base 1.0~beta5
  gdi_create_bitmap at Base 1.0~beta5
  gdi_dstblt at Base 1.0~beta5
+ gdi_ellipse_cb at Base 1.0.1
+ gdi_ellipse_sc at Base 1.0.1
  gdi_free at Base 1.0~beta5
  gdi_get_bitmap_pointer at Base 1.0~beta5
  gdi_get_brush_pointer at Base 1.0~beta5
@@ -1096,6 +1098,8 @@ libfreerdp-gdi.so.1.0 libfreerdp1 #MINVER#
  gdi_opaque_rect at Base 1.0~beta5
  gdi_palette_update at Base 1.0~beta5
  gdi_patblt at Base 1.0~beta5
+ gdi_polygon_cb at Base 1.0.1
+ gdi_polygon_sc at Base 1.0.1
  gdi_polyline at Base 1.0~beta5
  gdi_register_graphics at Base 1.0~beta5
  gdi_register_update_callbacks at Base 1.0~beta5
diff --git a/debian/patches/PatBlt_DPa.patch b/debian/patches/PatBlt_DPa.patch
new file mode 100644
index 0000000..ed0ed6a
--- /dev/null
+++ b/debian/patches/PatBlt_DPa.patch
@@ -0,0 +1,203 @@
+Description: add PatBlt DPa operation
+Author: Marc-André Moreau
+
+Index: freerdp-1.0.1/include/freerdp/gdi/gdi.h
+===================================================================
+--- freerdp-1.0.1.orig/include/freerdp/gdi/gdi.h	2012-02-10 20:15:05.000000000 +0100
++++ freerdp-1.0.1/include/freerdp/gdi/gdi.h	2013-01-01 17:35:46.331759945 +0100
+@@ -65,6 +65,7 @@
+ #define GDI_DSPDxax			0x00E20746 /* D = (S & P) | (~S & D) */
+ #define GDI_SPna			0x000C0324 /* D = S & ~P */
+ #define GDI_DSna			0x00220326 /* D = D & ~S */
++#define GDI_DPa				0x00A000C9 /* D = D & P */
+ #define GDI_PDxn			0x00A50065 /* D = D ^ ~P */
+ 
+ /* Brush Styles */
+Index: freerdp-1.0.1/libfreerdp-gdi/16bpp.c
+===================================================================
+--- freerdp-1.0.1.orig/libfreerdp-gdi/16bpp.c	2012-02-10 20:15:05.000000000 +0100
++++ freerdp-1.0.1/libfreerdp-gdi/16bpp.c	2013-01-01 17:35:46.331759945 +0100
+@@ -434,6 +434,31 @@
+ 	return 0;
+ }
+ 
++static int BitBlt_DPa_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
++{
++	int x, y;
++	uint16* dstp;
++	uint16* patp;
++
++	for (y = 0; y < nHeight; y++)
++	{
++		dstp = (uint16*) gdi_get_bitmap_pointer(hdcDest, nXDest, nYDest + y);
++
++		if (dstp != 0)
++		{
++			for (x = 0; x < nWidth; x++)
++			{
++				patp = (uint16*) gdi_get_brush_pointer(hdcDest, x, y);
++
++				*dstp = *dstp & *patp;
++				dstp++;
++			}
++		}
++	}
++
++	return 0;
++}
++
+ static int BitBlt_PDxn_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
+ {
+ 	int x, y;
+@@ -778,6 +803,10 @@
+ 			return BitBlt_WHITENESS_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
+ 			break;
+ 
++		case GDI_DPa:
++			return BitBlt_DPa_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
++			break;
++
+ 		case GDI_PDxn:
+ 			return BitBlt_PDxn_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
+ 			break;
+Index: freerdp-1.0.1/libfreerdp-gdi/32bpp.c
+===================================================================
+--- freerdp-1.0.1.orig/libfreerdp-gdi/32bpp.c	2012-02-10 20:15:05.000000000 +0100
++++ freerdp-1.0.1/libfreerdp-gdi/32bpp.c	2013-01-01 17:35:46.331759945 +0100
+@@ -487,6 +487,31 @@
+ 	return 0;
+ }
+ 
++static int BitBlt_DPa_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
++{
++	int x, y;
++	uint32* dstp;
++	uint32* patp;
++
++	for (y = 0; y < nHeight; y++)
++	{
++		dstp = (uint32*) gdi_get_bitmap_pointer(hdcDest, nXDest, nYDest + y);
++
++		if (dstp != 0)
++		{
++			for (x = 0; x < nWidth; x++)
++			{
++				patp = (uint32*) gdi_get_brush_pointer(hdcDest, x, y);
++
++				*dstp = *dstp & *patp;
++				dstp++;
++			}
++		}
++	}
++
++	return 0;
++}
++
+ static int BitBlt_PDxn_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
+ {
+ 	int x, y;
+@@ -807,6 +832,10 @@
+ 			return BitBlt_WHITENESS_32bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
+ 			break;
+ 
++		case GDI_DPa:
++			return BitBlt_DPa_32bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
++			break;
++
+ 		case GDI_PDxn:
+ 			return BitBlt_PDxn_32bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
+ 			break;
+Index: freerdp-1.0.1/libfreerdp-gdi/8bpp.c
+===================================================================
+--- freerdp-1.0.1.orig/libfreerdp-gdi/8bpp.c	2012-02-10 20:15:05.000000000 +0100
++++ freerdp-1.0.1/libfreerdp-gdi/8bpp.c	2013-01-01 17:35:46.331759945 +0100
+@@ -339,6 +339,31 @@
+ 	return 0;
+ }
+ 
++static int BitBlt_DPa_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
++{
++	int x, y;
++	uint8* dstp;
++	uint8* patp;
++
++	for (y = 0; y < nHeight; y++)
++	{
++		dstp = gdi_get_bitmap_pointer(hdcDest, nXDest, nYDest + y);
++
++		if (dstp != 0)
++		{
++			for (x = 0; x < nWidth; x++)
++			{
++				patp = gdi_get_brush_pointer(hdcDest, x, y);
++
++				*dstp = *dstp & *patp;
++				dstp++;
++			}
++		}
++	}
++
++	return 0;
++}
++
+ static int BitBlt_PDxn_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
+ {
+ 	int x, y;
+@@ -688,6 +713,10 @@
+ 			return BitBlt_WHITENESS_8bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
+ 			break;
+ 
++		case GDI_DPa:
++			return BitBlt_DPa_8bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
++			break;
++
+ 		case GDI_PDxn:
+ 			return BitBlt_PDxn_8bpp(hdc, nXLeft, nYLeft, nWidth, nHeight);
+ 			break;
+Index: freerdp-1.0.1/libfreerdp-gdi/gdi.c
+===================================================================
+--- freerdp-1.0.1.orig/libfreerdp-gdi/gdi.c	2012-02-10 20:15:05.000000000 +0100
++++ freerdp-1.0.1/libfreerdp-gdi/gdi.c	2013-01-01 17:35:46.331759945 +0100
+@@ -628,7 +628,27 @@
+ 
+ void gdi_mem3blt(rdpContext* context, MEM3BLT_ORDER* mem3blt)
+ {
++	printf("Mem3Blt\n");
++}
++
++void gdi_polygon_sc(rdpContext* context, POLYGON_SC_ORDER* polygon_sc)
++{
++	printf("PolygonSC\n");
++}
+ 
++void gdi_polygon_cb(rdpContext* context, POLYGON_CB_ORDER* polygon_cb)
++{
++	printf("PolygonCB\n");
++}
++
++void gdi_ellipse_sc(rdpContext* context, ELLIPSE_SC_ORDER* ellipse_sc)
++{
++	printf("EllipseSC\n");
++}
++
++void gdi_ellipse_cb(rdpContext* context, ELLIPSE_CB_ORDER* ellipse_cb)
++{
++	printf("EllipseCB\n");
+ }
+ 
+ int tilenum = 0;
+@@ -776,10 +796,10 @@
+ 	primary->GlyphIndex = NULL;
+ 	primary->FastIndex = NULL;
+ 	primary->FastGlyph = NULL;
+-	primary->PolygonSC = NULL;
+-	primary->PolygonCB = NULL;
+-	primary->EllipseSC = NULL;
+-	primary->EllipseCB = NULL;
++	primary->PolygonSC = gdi_polygon_sc;
++	primary->PolygonCB = gdi_polygon_cb;
++	primary->EllipseSC = gdi_ellipse_sc;
++	primary->EllipseCB = gdi_ellipse_cb;
+ 
+ 	update->SurfaceBits = gdi_surface_bits;
+ }
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..01a73c0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+PatBlt_DPa.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-remote/freerdp.git



More information about the pkg-remote-commits mailing list