summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2012-10-11 15:59:24 +0000
committerMike Gilbert <floppym@gentoo.org>2012-10-11 15:59:24 +0000
commite23b9af9c11108bd174201c3f5380ef8fe68b24e (patch)
tree7477b75454de3e56081b7774ced70f28c34dce14
parentstable ppc64, bug #433183 (diff)
downloadgentoo-2-e23b9af9c11108bd174201c3f5380ef8fe68b24e.tar.gz
gentoo-2-e23b9af9c11108bd174201c3f5380ef8fe68b24e.tar.bz2
gentoo-2-e23b9af9c11108bd174201c3f5380ef8fe68b24e.zip
Fix white artifacts in remmina, bug 437918 by Ben Kohler.
(Portage version: 2.2.0_alpha136/cvs/Linux x86_64)
-rw-r--r--net-misc/freerdp/ChangeLog9
-rw-r--r--net-misc/freerdp/files/freerdp-1.1.0_pre20121004-argb.patch61
-rw-r--r--net-misc/freerdp/freerdp-1.1.0_pre20121004-r1.ebuild95
3 files changed, 164 insertions, 1 deletions
diff --git a/net-misc/freerdp/ChangeLog b/net-misc/freerdp/ChangeLog
index 43ef19f4879a..8ba6d5e8876f 100644
--- a/net-misc/freerdp/ChangeLog
+++ b/net-misc/freerdp/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-misc/freerdp
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/freerdp/ChangeLog,v 1.35 2012/10/07 00:31:10 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/freerdp/ChangeLog,v 1.36 2012/10/11 15:59:24 floppym Exp $
+
+*freerdp-1.1.0_pre20121004-r1 (11 Oct 2012)
+
+ 11 Oct 2012; Mike Gilbert <floppym@gentoo.org>
+ +files/freerdp-1.1.0_pre20121004-argb.patch,
+ +freerdp-1.1.0_pre20121004-r1.ebuild:
+ Fix white artifacts in remmina, bug 437918 by Ben Kohler.
*freerdp-1.1.0_pre20121004 (07 Oct 2012)
diff --git a/net-misc/freerdp/files/freerdp-1.1.0_pre20121004-argb.patch b/net-misc/freerdp/files/freerdp-1.1.0_pre20121004-argb.patch
new file mode 100644
index 000000000000..81449d3c3952
--- /dev/null
+++ b/net-misc/freerdp/files/freerdp-1.1.0_pre20121004-argb.patch
@@ -0,0 +1,61 @@
+https://bugs.gentoo.org/show_bug.cgi?id=437918
+https://github.com/FreeRDP/Remmina/issues/111
+
+commit 8b70615b30f4a3b5c20df20dbadf7a8199e2e54a
+Author: Jean-Louis Dupond <jean-louis@dupond.be>
+Date: Thu Oct 11 00:07:56 2012 +0200
+
+ libfreerdp-codec: return ARGB32/ABGR32 for dstBpp 32 with alpha
+
+diff --git a/libfreerdp/codec/color.c b/libfreerdp/codec/color.c
+index 42aa4e5..cf65680 100644
+--- a/libfreerdp/codec/color.c
++++ b/libfreerdp/codec/color.c
+@@ -426,7 +426,14 @@ BYTE* freerdp_image_convert_8bpp(BYTE* srcData, BYTE* dstData, int width, int he
+ red = clrconv->palette->entries[pixel].red;
+ green = clrconv->palette->entries[pixel].green;
+ blue = clrconv->palette->entries[pixel].blue;
+- pixel = (clrconv->invert) ? RGB32(red, green, blue) : BGR32(red, green, blue);
++ if (clrconv->alpha)
++ {
++ pixel = (clrconv->invert) ? ARGB32(0xFF, red, green, blue) : ABGR32(0xFF, red, green, blue);
++ }
++ else
++ {
++ pixel = (clrconv->invert) ? RGB32(red, green, blue) : BGR32(red, green, blue);
++ }
+ *dst32 = pixel;
+ dst32++;
+ }
+@@ -468,7 +475,14 @@ BYTE* freerdp_image_convert_15bpp(BYTE* srcData, BYTE* dstData, int width, int h
+ pixel = *src16;
+ src16++;
+ GetBGR15(red, green, blue, pixel);
+- pixel = (clrconv->invert) ? RGB32(red, green, blue) : BGR32(red, green, blue);
++ if (clrconv->alpha)
++ {
++ pixel = (clrconv->invert) ? ARGB32(0xFF, red, green, blue) : ABGR32(0xFF, red, green, blue);
++ }
++ else
++ {
++ pixel = (clrconv->invert) ? RGB32(red, green, blue) : BGR32(red, green, blue);
++ }
+ *dst32 = pixel;
+ dst32++;
+ }
+@@ -582,7 +596,14 @@ BYTE* freerdp_image_convert_16bpp(BYTE* srcData, BYTE* dstData, int width, int h
+ pixel = *src16;
+ src16++;
+ GetBGR16(red, green, blue, pixel);
+- pixel = (clrconv->invert) ? RGB32(red, green, blue) : BGR32(red, green, blue);
++ if (clrconv->alpha)
++ {
++ pixel = (clrconv->invert) ? ARGB32(0xFF, red, green, blue) : ABGR32(0xFF, red, green, blue);
++ }
++ else
++ {
++ pixel = (clrconv->invert) ? RGB32(red, green, blue) : BGR32(red, green, blue);
++ }
+ *dst32 = pixel;
+ dst32++;
+ }
diff --git a/net-misc/freerdp/freerdp-1.1.0_pre20121004-r1.ebuild b/net-misc/freerdp/freerdp-1.1.0_pre20121004-r1.ebuild
new file mode 100644
index 000000000000..0724c446a427
--- /dev/null
+++ b/net-misc/freerdp/freerdp-1.1.0_pre20121004-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/freerdp/freerdp-1.1.0_pre20121004-r1.ebuild,v 1.1 2012/10/11 15:59:24 floppym Exp $
+
+EAPI="4"
+
+inherit cmake-utils
+
+if [[ ${PV} != 9999* ]]; then
+ SRC_URI="mirror://github/FreeRDP/FreeRDP/${P}.tar.gz
+ mirror://gentoo/${P}.tar.gz
+ http://dev.gentoo.org/~floppym/distfiles/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+else
+ inherit git-2
+ SRC_URI=""
+ EGIT_REPO_URI="git://github.com/FreeRDP/FreeRDP.git
+ https://github.com/FreeRDP/FreeRDP.git"
+ KEYWORDS=""
+fi
+
+DESCRIPTION="Free implementation of the Remote Desktop Protocol"
+HOMEPAGE="http://www.freerdp.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="alsa +channels +client cups debug directfb doc ffmpeg gstreamer jpeg
+ pulseaudio smartcard sse2 test X xinerama xv"
+
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/openssl
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ client? (
+ directfb? ( dev-libs/DirectFB )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXext
+ xinerama? ( x11-libs/libXinerama )
+ xv? ( x11-libs/libXv )
+ )
+ )
+ ffmpeg? ( virtual/ffmpeg )
+ gstreamer? (
+ media-libs/gstreamer
+ media-libs/gst-plugins-base
+ x11-libs/libXrandr
+ )
+ jpeg? ( virtual/jpeg )
+ pulseaudio? ( media-sound/pulseaudio )
+ smartcard? ( sys-apps/pcsc-lite )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ )
+"
+DEPEND="${RDEPEND}
+ client? ( X? ( doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ ) ) )
+ test? ( dev-util/cunit )
+"
+
+DOCS=( README )
+PATCHES=( "${FILESDIR}/${P}-argb.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_with alsa ALSA)
+ $(cmake-utils_use_with channels CHANNELS)
+ $(cmake-utils_use_with client CLIENT)
+ $(cmake-utils_use_with cups CUPS)
+ $(cmake-utils_use_with debug DEBUG_ALL)
+ $(cmake-utils_use_with doc MANPAGES)
+ $(cmake-utils_use_with directfb DIRECTFB)
+ $(cmake-utils_use_with ffmpeg FFMPEG)
+ $(cmake-utils_use_with gstreamer GSTREAMER)
+ $(cmake-utils_use_with jpeg JPEG)
+ $(cmake-utils_use_with pulseaudio PULSEAUDIO)
+ $(cmake-utils_use_with smartcard PCSC)
+ $(cmake-utils_use_with sse2 SSE2)
+ $(cmake-utils_use_with test CUNIT)
+ $(cmake-utils_use_with X X11)
+ $(cmake-utils_use_with X XCURSOR)
+ $(cmake-utils_use_with X XEXT)
+ $(cmake-utils_use_with X XKBFILE)
+ $(cmake-utils_use_with xinerama XINERAMA)
+ $(cmake-utils_use_with xv XV)
+ )
+ cmake-utils_src_configure
+}