mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-26 22:06:35 +01:00
libraries/t4k_common: Fix segfaults with the newer librsvg.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
parent
1c87424c8a
commit
584ee28512
2 changed files with 35 additions and 0 deletions
32
libraries/t4k_common/916060_bugfix.patch
Normal file
32
libraries/t4k_common/916060_bugfix.patch
Normal file
|
@ -0,0 +1,32 @@
|
|||
Description: fix loading each frame from SVG sprites
|
||||
rsvg_handle_get_desc returns null so next sscanf segfaults. Use instead iterating
|
||||
up from zero for id frame%d
|
||||
Author: cdonoghu@gmail.com
|
||||
Origin: other
|
||||
Forwarded: no
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
--- a/src/t4k_loaders.c
|
||||
+++ b/src/t4k_loaders.c
|
||||
@@ -213,14 +213,13 @@
|
||||
new_sprite = malloc(sizeof(sprite));
|
||||
new_sprite->default_img = render_svg_from_handle(file_handle, width, height, "#default");
|
||||
|
||||
- /* get number of frames from description */
|
||||
- sscanf(rsvg_handle_get_desc(file_handle), "%d", &new_sprite->num_frames);
|
||||
- DEBUGMSG(debug_loaders, "load_svg_sprite(): loading %d frames\n", new_sprite->num_frames);
|
||||
-
|
||||
- for(i = 0; i < new_sprite->num_frames; i++)
|
||||
- {
|
||||
- sprintf(lay_name, "#frame%d", i);
|
||||
- new_sprite->frame[i] = render_svg_from_handle(file_handle, width, height, lay_name);
|
||||
+ /* get number of frames directly. End when #frame<num> doesn't exist */
|
||||
+ new_sprite->num_frames = 0;
|
||||
+ while(1) {
|
||||
+ sprintf(lay_name, "#frame%d", new_sprite->num_frames);
|
||||
+ if ( ! (rsvg_handle_has_sub(file_handle, lay_name)) ) break;
|
||||
+ new_sprite->frame[new_sprite->num_frames] = render_svg_from_handle(file_handle, width, height, lay_name);
|
||||
+ new_sprite->num_frames++;
|
||||
}
|
||||
|
||||
g_object_unref(file_handle);
|
|
@ -54,6 +54,9 @@ find -L . \
|
|||
# Patch for libpng16 (-current) (from Debian)
|
||||
patch -p1 < $CWD/libpng.patch
|
||||
|
||||
# Fix segfaults with then newer librsvg (from Debian)
|
||||
patch -p1 < $CWD/916060_bugfix.patch
|
||||
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS" \
|
||||
./configure \
|
||||
|
|
Loading…
Reference in a new issue