svn commit: r375453 - in head/x11/bbdock: . files
Antoine Brodin
antoine at FreeBSD.org
Wed Dec 24 13:02:37 UTC 2014
Author: antoine
Date: Wed Dec 24 13:02:36 2014
New Revision: 375453
URL: https://svnweb.freebsd.org/changeset/ports/375453
QAT: https://qat.redports.org/buildarchive/r375453/
Log:
Properly support png 1.5
Obtained from: upstream, markusfisch/bbdock on github
Modified:
head/x11/bbdock/Makefile
head/x11/bbdock/files/patch-Slot.cc
Modified: head/x11/bbdock/Makefile
==============================================================================
--- head/x11/bbdock/Makefile Wed Dec 24 12:39:41 2014 (r375452)
+++ head/x11/bbdock/Makefile Wed Dec 24 13:02:36 2014 (r375453)
@@ -12,11 +12,10 @@ COMMENT= Application launcher for Blackb
LICENSE= BSD3CLAUSE
-LIB_DEPENDS= libpng15.so:${PORTSDIR}/graphics/png
+LIB_DEPENDS= libpng.so:${PORTSDIR}/graphics/png
GNU_CONFIGURE= yes
USE_XORG= x11
-CPPFLAGS+= -I${LOCALBASE}/include/libpng15
PORTDOCS= README
PLIST_FILES= bin/bbdock
Modified: head/x11/bbdock/files/patch-Slot.cc
==============================================================================
--- head/x11/bbdock/files/patch-Slot.cc Wed Dec 24 12:39:41 2014 (r375452)
+++ head/x11/bbdock/files/patch-Slot.cc Wed Dec 24 13:02:36 2014 (r375453)
@@ -1,10 +1,55 @@
---- src/Slot.cc.orig 2011-03-29 21:48:36.000000000 +0200
-+++ src/Slot.cc 2012-05-06 10:01:10.000000000 +0200
-@@ -38,6 +38,7 @@
- #include <string>
+--- src/Slot.cc.orig 2011-03-29 19:48:36 UTC
++++ src/Slot.cc
+@@ -420,6 +420,8 @@ const bool Slot::hasFocus()
+ */
+ void Slot::loadIcon()
+ {
++ png_bytep *rowPointers;
++
+ destroyIcon();
+ width = height = 0;
- #include "Slot.hh"
-+#include "pngpriv.h"
+@@ -446,27 +448,29 @@ void Slot::loadIcon()
+ PNG_TRANSFORM_BGR,
+ 0 );
- extern char **environ;
+- if( !(info->valid & PNG_INFO_IDAT) ||
+- !(normalicon = new int[info->width*info->height]) )
++ width = png_get_image_width( png, info );
++ height = png_get_image_height( png, info );
++
++ if( !png_get_valid( png, info, PNG_INFO_IDAT ) ||
++ !(normalicon = new int[width*height]) )
+ throw 0;
+- for( int y = 0, *src, *dest = normalicon;
+- y < info->height && (src = (int *) info->row_pointers[y]);
+- y++, dest += info->width )
+- memcpy( dest, src, info->width<<2 );
++ rowPointers = png_get_rows( png, info );
+
+- width = info->width;
+- height = info->height;
++ for( int y = 0, *src, *dest = normalicon;
++ y < height && (src = (int *) rowPointers[y]);
++ y++, dest += width )
++ memcpy( dest, src, width<<2 );
+
+ // convert grayscale image to rgb
+- if( info->color_type == PNG_COLOR_TYPE_GRAY_ALPHA )
+- for( int y = info->height, *line = normalicon;
+- --y; line += info->width )
++ if( png_get_color_type(png, info) == PNG_COLOR_TYPE_GRAY_ALPHA )
++ for( int y = height, *line = normalicon;
++ --y; line += width )
+ {
+- unsigned char *dest = (unsigned char *) line+(info->width<<2);
+- unsigned char *src = (unsigned char *) line+(info->width<<1);
++ unsigned char *dest = (unsigned char *) line+(width<<2);
++ unsigned char *src = (unsigned char *) line+(width<<1);
+
+- for( int x = info->width; --x; )
++ for( int x = width; --x; )
+ {
+ *(--dest) = *(--src);
+ *(--dest) = *(--src);
More information about the svn-ports-all
mailing list