* gnu/packages/patches/abiword-explictly-cast-bools.patch: Update patch. * gnu/packages/patches/abiword-black-drawing-with-gtk322.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/abiword.scm (abiword): Update to 3.0.2. [source]: Remove outdated snippet; add new patch. [arguments]: Pass CXXFLAGS.
		
			
				
	
	
		
			93 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
As of JPEG-9, the type 'boolean' is an enumeration, but since glib defines
 | 
						|
TRUE and FALSE as numeric constants and this is C++, they need to be explicitly
 | 
						|
casted.
 | 
						|
 | 
						|
--- a/src/af/util/xp/ut_jpeg.cpp
 | 
						|
+++ b/src/af/util/xp/ut_jpeg.cpp
 | 
						|
@@ -102,7 +102,7 @@ static boolean _jpegFillInputBuffer (j_decompress_ptr cinfo)
 | 
						|
 	src->pub.next_input_byte = src->sourceBuf->getPointer (src->pos);
 | 
						|
 	src->pub.bytes_in_buffer = src->sourceBuf->getLength ();
 | 
						|
 
 | 
						|
-	return 1; // boolean is a libjpeg type that is an int.
 | 
						|
+	return (boolean)TRUE;
 | 
						|
 }
 | 
						|
 
 | 
						|
 /*
 | 
						|
@@ -161,7 +161,7 @@ bool UT_JPEG_getDimensions(const UT_ByteBuf* pBB, UT_sint32& iImageWidth,
 | 
						|
 	/* set the data source */
 | 
						|
 	_JPEG_ByteBufSrc (&cinfo, pBB);
 | 
						|
 
 | 
						|
-	jpeg_read_header(&cinfo, TRUE);
 | 
						|
+	jpeg_read_header(&cinfo, (boolean)TRUE);
 | 
						|
 	jpeg_start_decompress(&cinfo);
 | 
						|
     iImageWidth = cinfo.output_width;
 | 
						|
     iImageHeight = cinfo.output_height;
 | 
						|
@@ -189,7 +189,7 @@ bool UT_JPEG_getRGBData(const UT_ByteBuf* pBB, UT_Byte* pDest, UT_sint32 iDestRo
 | 
						|
 	/* set the data source */
 | 
						|
 	_JPEG_ByteBufSrc (&cinfo, pBB);
 | 
						|
 
 | 
						|
-	jpeg_read_header(&cinfo, TRUE);
 | 
						|
+	jpeg_read_header(&cinfo, (boolean)TRUE);
 | 
						|
 	jpeg_start_decompress(&cinfo);
 | 
						|
     
 | 
						|
 	int row_stride = cinfo.output_width * cinfo.output_components;
 | 
						|
 | 
						|
 | 
						|
In the following file, we also need to reverse header include order: JPEG needs
 | 
						|
to be included before Glib, which is included by "abiword-garble.h" for this fix
 | 
						|
to work.
 | 
						|
 | 
						|
The JPEG header needs the types FILE and size_t, we can get them from cstdio.
 | 
						|
 | 
						|
--- a/plugins/garble/xp/abiword-garble-jpeg.cpp	2009-09-05 17:49:53.000000000 +0200
 | 
						|
+++ b/plugins/garble/xp/abiword-garble-jpeg.cpp	2014-09-07 21:28:49.364008571 +0200
 | 
						|
@@ -20,12 +20,14 @@
 | 
						|
  * 02111-1307, USA.
 | 
						|
  */
 | 
						|
 
 | 
						|
-#include "abiword-garble.h"
 | 
						|
+#include <cstdio>
 | 
						|
 
 | 
						|
 extern "C" {
 | 
						|
 	#include <jpeglib.h>
 | 
						|
 }
 | 
						|
 
 | 
						|
+#include "abiword-garble.h"
 | 
						|
+
 | 
						|
 //-----------------------------------------------------------------------------
 | 
						|
 typedef struct {
 | 
						|
 	struct jpeg_destination_mgr pub;
 | 
						|
@@ -49,7 +51,7 @@
 | 
						|
     mem_dest_ptr dest = (mem_dest_ptr) cinfo->dest;
 | 
						|
     dest->pub.next_output_byte = dest->buf;
 | 
						|
     dest->pub.free_in_buffer = dest->bufsize;
 | 
						|
-    return FALSE;
 | 
						|
+    return (boolean)FALSE;
 | 
						|
 }
 | 
						|
 
 | 
						|
 //-----------------------------------------------------------------------------
 | 
						|
@@ -96,7 +98,7 @@
 | 
						|
 	cinfo.image_width = (JDIMENSION) w;
 | 
						|
 	cinfo.image_height = (JDIMENSION) h;
 | 
						|
 	jpeg_set_defaults (&cinfo);
 | 
						|
-	jpeg_set_quality ( &cinfo, 50, TRUE );
 | 
						|
+	jpeg_set_quality ( &cinfo, 50, (boolean)TRUE );
 | 
						|
 	cinfo.dest = (struct jpeg_destination_mgr *) (*cinfo.mem->alloc_small)((j_common_ptr)&cinfo, JPOOL_PERMANENT, sizeof(mem_destination_mgr));
 | 
						|
     dest = (mem_dest_ptr) cinfo.dest;
 | 
						|
     dest->pub.init_destination    = _jpeg_init_destination;
 | 
						|
@@ -105,7 +107,7 @@
 | 
						|
     dest->buf      = (JOCTET*)data;
 | 
						|
     dest->bufsize  = length;
 | 
						|
     dest->jpegsize = 0;
 | 
						|
-	jpeg_start_compress (&cinfo, TRUE);
 | 
						|
+	jpeg_start_compress (&cinfo, (boolean)TRUE);
 | 
						|
 
 | 
						|
 	// write data
 | 
						|
 	for (int i=0; i<h; ++i)
 | 
						|
@@ -121,4 +123,4 @@
 | 
						|
 		free( dib[i] );
 | 
						|
 	free( dib );
 | 
						|
 	return true;
 | 
						|
-}
 | 
						|
\ No newline at end of file
 | 
						|
+}
 |