Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package fcft for openSUSE:Factory checked in at 2022-09-07 11:06:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fcft (Old) and /work/SRC/openSUSE:Factory/.fcft.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fcft" Wed Sep 7 11:06:16 2022 rev:15 rq:1001514 version:3.1.4 Changes: -------- --- /work/SRC/openSUSE:Factory/fcft/fcft.changes 2022-08-23 14:29:52.651641543 +0200 +++ /work/SRC/openSUSE:Factory/.fcft.new.2083/fcft.changes 2022-09-07 11:06:36.684494184 +0200 @@ -1,0 +2,6 @@ +Tue Sep 6 16:48:06 UTC 2022 - Arnav Singh <[email protected]> + +- Update to 3.1.4: + * Fixed crash when failing to load an SVG glyph with multiple sub-glyphs. + +------------------------------------------------------------------- Old: ---- fcft-3.1.3.tar.gz New: ---- fcft-3.1.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fcft.spec ++++++ --- /var/tmp/diff_new_pack.NzZy6q/_old 2022-09-07 11:06:37.148495363 +0200 +++ /var/tmp/diff_new_pack.NzZy6q/_new 2022-09-07 11:06:37.152495374 +0200 @@ -18,7 +18,7 @@ %define libname libfcft4 Name: fcft -Version: 3.1.3 +Version: 3.1.4 Release: 0 Summary: A library for font loading and glyph rasterization using FreeType/pixman License: MIT ++++++ fcft-3.1.3.tar.gz -> fcft-3.1.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/.builds/alpine-x64.yml new/fcft/.builds/alpine-x64.yml --- old/fcft/.builds/alpine-x64.yml 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/.builds/alpine-x64.yml 2022-09-06 18:40:14.000000000 +0200 @@ -19,8 +19,8 @@ - py3-pip sources: - - https://codeberg.org/dnkl/tllist - - https://codeberg.org/dnkl/fcft + - https://git.sr.ht/~dnkl/tllist + - https://git.sr.ht/~dnkl/fcft # triggers: # - action: email diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/.builds/freebsd-x64.yml new/fcft/.builds/freebsd-x64.yml --- old/fcft/.builds/freebsd-x64.yml 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/.builds/freebsd-x64.yml 2022-09-06 18:40:14.000000000 +0200 @@ -16,8 +16,8 @@ - noto-emoji sources: - - https://codeberg.org/dnkl/tllist - - https://codeberg.org/dnkl/fcft + - https://git.sr.ht/~dnkl/tllist + - https://git.sr.ht/~dnkl/fcft # triggers: # - action: email diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/CHANGELOG.md new/fcft/CHANGELOG.md --- old/fcft/CHANGELOG.md 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/CHANGELOG.md 2022-09-06 18:40:14.000000000 +0200 @@ -1,5 +1,6 @@ # Changelog +* [3.1.4](#3-1-4) * [3.1.3](#3-1-3) * [3.1.2](#3-1-2) * [3.1.1](#3-1-1) @@ -35,6 +36,13 @@ * [1.1.7](#1-1-7) +## 3.1.4 + +### Fixed + +* Crash when failing to load an SVG glyph with multiple sub-glyphs. + + ## 3.1.3 ### Fixed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/PKGBUILD new/fcft/PKGBUILD --- old/fcft/PKGBUILD 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/PKGBUILD 2022-09-06 18:40:14.000000000 +0200 @@ -1,5 +1,5 @@ pkgname=fcft -pkgver=3.1.3 +pkgver=3.1.4 pkgrel=1 pkgdesc="Simple font loading and glyph rasterization library" changelog=CHANGELOG.md diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_capabilities.3.scd new/fcft/doc/fcft_capabilities.3.scd --- old/fcft/doc/fcft_capabilities.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_capabilities.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_capabilities(3) "3.1.3" "fcft" +fcft_capabilities(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_clone.3.scd new/fcft/doc/fcft_clone.3.scd --- old/fcft/doc/fcft_clone.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_clone.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_clone(3) "3.1.3" "fcft" +fcft_clone(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_destroy.3.scd new/fcft/doc/fcft_destroy.3.scd --- old/fcft/doc/fcft_destroy.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_destroy.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_destroy(3) "3.1.3" "fcft" +fcft_destroy(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_fini.3.scd new/fcft/doc/fcft_fini.3.scd --- old/fcft/doc/fcft_fini.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_fini.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_fini(3) "3.1.3" "fcft" +fcft_fini(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_from_name.3.scd new/fcft/doc/fcft_from_name.3.scd --- old/fcft/doc/fcft_from_name.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_from_name.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_from_name(3) "3.1.3" "fcft" +fcft_from_name(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_init.3.scd new/fcft/doc/fcft_init.3.scd --- old/fcft/doc/fcft_init.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_init.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_init(3) "3.1.3" "fcft" +fcft_init(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_kerning.3.scd new/fcft/doc/fcft_kerning.3.scd --- old/fcft/doc/fcft_kerning.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_kerning.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_kerning(3) "3.1.3" "fcft" +fcft_kerning(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_log_init.3.scd new/fcft/doc/fcft_log_init.3.scd --- old/fcft/doc/fcft_log_init.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_log_init.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_log_init(3) "3.1.3" "fcft" +fcft_log_init(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_precompose.3.scd new/fcft/doc/fcft_precompose.3.scd --- old/fcft/doc/fcft_precompose.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_precompose.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_precompose(3) "3.1.3" "fcft" +fcft_precompose(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_rasterize_char_utf32.3.scd new/fcft/doc/fcft_rasterize_char_utf32.3.scd --- old/fcft/doc/fcft_rasterize_char_utf32.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_rasterize_char_utf32.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_rasterize_char_utf32(3) "3.1.3" "fcft" +fcft_rasterize_char_utf32(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_rasterize_grapheme_utf32.3.scd new/fcft/doc/fcft_rasterize_grapheme_utf32.3.scd --- old/fcft/doc/fcft_rasterize_grapheme_utf32.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_rasterize_grapheme_utf32.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_rasterize_grapheme_utf32(3) "3.1.3" "fcft" +fcft_rasterize_grapheme_utf32(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_rasterize_text_run_utf32.3.scd new/fcft/doc/fcft_rasterize_text_run_utf32.3.scd --- old/fcft/doc/fcft_rasterize_text_run_utf32.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_rasterize_text_run_utf32.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_rasterize_text_run_utf32(3) "3.1.3" "fcft" +fcft_rasterize_text_run_utf32(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_set_emoji_presentation.3.scd new/fcft/doc/fcft_set_emoji_presentation.3.scd --- old/fcft/doc/fcft_set_emoji_presentation.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_set_emoji_presentation.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_set_emoji_presentation(3) "3.1.3" "fcft" +fcft_set_emoji_presentation(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_set_scaling_filter.3.scd new/fcft/doc/fcft_set_scaling_filter.3.scd --- old/fcft/doc/fcft_set_scaling_filter.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_set_scaling_filter.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_set_scaling_filter(3) "3.1.3" "fcft" +fcft_set_scaling_filter(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_size_adjust.3.scd new/fcft/doc/fcft_size_adjust.3.scd --- old/fcft/doc/fcft_size_adjust.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_size_adjust.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_size_adjust(3) "3.1.3" "fcft" +fcft_size_adjust(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/doc/fcft_text_run_destroy.3.scd new/fcft/doc/fcft_text_run_destroy.3.scd --- old/fcft/doc/fcft_text_run_destroy.3.scd 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/doc/fcft_text_run_destroy.3.scd 2022-09-06 18:40:14.000000000 +0200 @@ -1,4 +1,4 @@ -fcft_text_run_destroy(3) "3.1.3" "fcft" +fcft_text_run_destroy(3) "3.1.4" "fcft" # NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/meson.build new/fcft/meson.build --- old/fcft/meson.build 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/meson.build 2022-09-06 18:40:14.000000000 +0200 @@ -1,5 +1,5 @@ project('fcft', 'c', - version: '3.1.3', # Don't forget to update version in man pages + version: '3.1.4', # Don't forget to update version in man pages license: 'MIT', meson_version: '>=0.58.0', default_options: [ @@ -20,7 +20,7 @@ so_version = [ '4', # MAJOR: increment on non-backward compatible ABI changes '1', # MINOR: increment with backward compatible ABI changes - '3', # PATCH: increment with non-ABI affecting changes + '4', # PATCH: increment with non-ABI affecting changes ] is_debug_build = get_option('buildtype').startswith('debug') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcft/svg-backend-nanosvg.c new/fcft/svg-backend-nanosvg.c --- old/fcft/svg-backend-nanosvg.c 2022-08-22 14:47:56.000000000 +0200 +++ new/fcft/svg-backend-nanosvg.c 2022-09-06 18:40:14.000000000 +0200 @@ -23,6 +23,7 @@ unsigned short glyph_id_end; float x_ofs; float y_ofs; + FT_Error error; }; #define COOKIE 0xfcf77fcf @@ -60,6 +61,9 @@ struct state *state = (struct state *)slot->generic.data; assert(state->cookie == COOKIE); + if (state->error != FT_Err_Ok) + return state->error; + FT_Bitmap *bitmap = &slot->bitmap; /* TODO: implement this (note: we???re erroring out in preset_slot() @@ -217,6 +221,7 @@ ((struct state *)slot->generic.data)->cookie = COOKIE; } state = slot->generic.data; + state->error = FT_Err_Ok; assert(state->cookie == COOKIE); } else state = &state_dummy; @@ -225,6 +230,7 @@ * element IDs */ if (document->start_glyph_id != document->end_glyph_id) { LOG_ERR("multi-glyph rendering is unsupported"); + state->error = FT_Err_Unimplemented_Feature; return FT_Err_Unimplemented_Feature; } @@ -241,6 +247,7 @@ if (state->svg == NULL) { LOG_ERR("failed to parse SVG document"); + state->error = FT_Err_Invalid_SVG_Document; return FT_Err_Invalid_SVG_Document; } @@ -369,9 +376,9 @@ xx, yy, xy, yx, x0, y0); #endif -#if 0 /* FreeType appears to ignore errors, causing us to crash in - * the render hook */ +#if 1 nsvgDelete(state->svg); + state->error = FT_Err_Unimplemented_Feature; return FT_Err_Unimplemented_Feature; #endif }
