[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