Author: fredkiefer
Date: Wed Jan 18 23:52:41 2017
New Revision: 40296
URL: http://svn.gna.org/viewcvs/gnustep?rev=40296&view=rev
Log:
* Source/OpalGraphics/CGContext.m: Protect against incorrect dash count.
* Source/OpalGraphics/cairo/CairoFontX11.m: Correct sign of descender.
* Source/OpalGraphics/image/OPImageCodecPNG.m: Prepare for newer
libpng versions.
Modified:
libs/opal/trunk/ChangeLog
libs/opal/trunk/Source/OpalGraphics/CGContext.m
libs/opal/trunk/Source/OpalGraphics/cairo/CairoFontX11.m
libs/opal/trunk/Source/OpalGraphics/image/OPImageCodecPNG.m
Modified: libs/opal/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/libs/opal/trunk/ChangeLog?rev=40296&r1=40295&r2=40296&view=diff
==============================================================================
--- libs/opal/trunk/ChangeLog (original)
+++ libs/opal/trunk/ChangeLog Wed Jan 18 23:52:41 2017
@@ -1,3 +1,10 @@
+2017-01-18 Fred Kiefer <[email protected]>
+
+ * Source/OpalGraphics/CGContext.m: Protect against incorrect dash count.
+ * Source/OpalGraphics/cairo/CairoFontX11.m: Correct sign of descender.
+ * Source/OpalGraphics/image/OPImageCodecPNG.m: Prepare for newer
+ libpng versions.
+
2016-06-19 Fred Kiefer <[email protected]>
* Source/GNUmakefile
Modified: libs/opal/trunk/Source/OpalGraphics/CGContext.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/opal/trunk/Source/OpalGraphics/CGContext.m?rev=40296&r1=40295&r2=40296&view=diff
==============================================================================
--- libs/opal/trunk/Source/OpalGraphics/CGContext.m (original)
+++ libs/opal/trunk/Source/OpalGraphics/CGContext.m Wed Jan 18 23:52:41 2017
@@ -412,12 +412,19 @@
size_t count)
{
OPLOGCALL("ctx /*%p*/, %g, <lengths>, %d", ctx, phase, count)
+ if (!lengths && count != 0)
+ {
+ NSLog(@"%s: null 'lengths' passed with count %d. Fixing by setting count
to 0.", lengths, (int)count);
+ count = 0;
+ }
double dashes[count]; /* C99 allows this */
size_t i;
for (i=0; i<count; i++)
- dashes[i] = lengths[i];
+ {
+ dashes[i] = lengths[i];
+ }
cairo_set_dash(ctx->ct, dashes, count, phase);
OPRESTORELOGGING()
@@ -426,13 +433,13 @@
void CGContextSetFlatness(CGContextRef ctx, CGFloat flatness)
{
OPLOGCALL("ctx /*%p*/, %g", ctx, flatness)
- cairo_set_tolerance(ctx->ct, flatness);
+ cairo_set_tolerance(ctx->ct, flatness / 2);
OPRESTORELOGGING()
}
CGInterpolationQuality CGContextGetInterpolationQuality(CGContextRef ctx)
{
- return 0;
+ return 0;
}
void CGContextSetInterpolationQuality(
Modified: libs/opal/trunk/Source/OpalGraphics/cairo/CairoFontX11.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/opal/trunk/Source/OpalGraphics/cairo/CairoFontX11.m?rev=40296&r1=40295&r2=40296&view=diff
==============================================================================
--- libs/opal/trunk/Source/OpalGraphics/cairo/CairoFontX11.m (original)
+++ libs/opal/trunk/Source/OpalGraphics/cairo/CairoFontX11.m Wed Jan 18
23:52:41 2017
@@ -305,8 +305,8 @@
- (int) descent;
{
FT_Face ft_face = cairo_ft_scaled_font_lock_face(self->cairofont);
- int result = ft_face->descender;
-
+ int result = -ft_face->descender;
+
cairo_ft_scaled_font_unlock_face(self->cairofont);
return result;
}
@@ -366,7 +366,7 @@
// see http://www.typophile.com/node/13081
int result = ft_face->height - ft_face->ascender +
ft_face->descender;
-
+
cairo_ft_scaled_font_unlock_face(self->cairofont);
return result;
}
Modified: libs/opal/trunk/Source/OpalGraphics/image/OPImageCodecPNG.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/opal/trunk/Source/OpalGraphics/image/OPImageCodecPNG.m?rev=40296&r1=40295&r2=40296&view=diff
==============================================================================
--- libs/opal/trunk/Source/OpalGraphics/image/OPImageCodecPNG.m (original)
+++ libs/opal/trunk/Source/OpalGraphics/image/OPImageCodecPNG.m Wed Jan 18
23:52:41 2017
@@ -406,7 +406,11 @@
const CGColorSpaceRef dstColorSpace = [CGColorSpaceCreateDeviceRGB()
autorelease];
// init structures
+#if PNG_LIBPNG_VER < 10500
+ // I don't think this was ever needed as png_create_info_struct()
+ // sets up the structure correctly and we rely on that in all other places.
png_info_init_3(&png_info, png_sizeof(png_info));
+#endif
png_set_write_fn(png_struct, dc, opal_png_writer_func, NULL);
png_set_IHDR(png_struct, png_info, srcWidth, srcHeight, 8,
PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE,
PNG_COMPRESSION_TYPE_DEFAULT,
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs