diff options
author | Mike Gilbert <floppym@gentoo.org> | 2012-10-11 15:59:24 +0000 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2012-10-11 15:59:24 +0000 |
commit | e23b9af9c11108bd174201c3f5380ef8fe68b24e (patch) | |
tree | 7477b75454de3e56081b7774ced70f28c34dce14 | |
parent | stable ppc64, bug #433183 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | net-misc/freerdp/files/freerdp-1.1.0_pre20121004-argb.patch | 61 | ||||
-rw-r--r-- | net-misc/freerdp/freerdp-1.1.0_pre20121004-r1.ebuild | 95 |
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 +} |