SOURCES: cairo-bug4110.patch (NEW) - https://bugs.freedesktop.org/...

paladine paladine at pld-linux.org
Wed Aug 17 19:18:02 CEST 2005


Author: paladine                     Date: Wed Aug 17 17:18:02 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- https://bugs.freedesktop.org/show_bug.cgi?id=4110

---- Files affected:
SOURCES:
   cairo-bug4110.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/cairo-bug4110.patch
diff -u /dev/null SOURCES/cairo-bug4110.patch:1.1
--- /dev/null	Wed Aug 17 19:18:02 2005
+++ SOURCES/cairo-bug4110.patch	Wed Aug 17 19:17:56 2005
@@ -0,0 +1,73 @@
+diff -urN cairo-0.9.2.orig/src/cairo-cache.c cairo-0.9.2/src/cairo-cache.c
+--- cairo-0.9.2.orig/src/cairo-cache.c	2005-08-17 18:28:20.765530192 +0200
++++ cairo-0.9.2/src/cairo-cache.c	2005-08-17 18:29:26.158588936 +0200
+@@ -512,7 +512,7 @@
+ {
+     /* This is the djb2 hash. */
+     unsigned long hash = 5381;
+-    while (*c)
++    while (c && *c)
+ 	hash = ((hash << 5) + hash) + *c++;
+     return hash;
+ }
+diff -urN cairo-0.9.2.orig/src/cairo-ft-font.c cairo-0.9.2/src/cairo-ft-font.c
+--- cairo-0.9.2.orig/src/cairo-ft-font.c	2005-08-17 18:28:20.816522440 +0200
++++ cairo-0.9.2/src/cairo-ft-font.c	2005-08-17 18:33:08.097849040 +0200
+@@ -248,8 +248,8 @@
+ 
+ static void
+ _cairo_ft_unscaled_font_init_key (cairo_ft_unscaled_font_t *key,
+-				  char			   *filename,
+-				  int			    id)
++				  char                     *filename,
++				  int                       id)
+ {
+     unsigned long hash;
+ 
+@@ -290,22 +290,25 @@
+ 			      int			id,
+ 			      FT_Face			face)
+ {
+-    char *filename_copy = NULL;
+-
+-    if (filename) {
+-	filename_copy = strdup (filename);
+-	if (filename_copy == NULL)
+-	    return CAIRO_STATUS_NO_MEMORY;
+-    }
+-
+-    _cairo_ft_unscaled_font_init_key (unscaled, filename_copy, id);
++    _cairo_unscaled_font_init (&unscaled->base,
++			       &cairo_ft_unscaled_font_backend);
+ 
+     if (face) {
+-	unscaled->from_face = 1;
++	unscaled->from_face = TRUE;
+ 	unscaled->face = face;
++	unscaled->filename = NULL;
++	unscaled->id = 0;
+     } else {
+-	unscaled->from_face = 0;
++	char *filename_copy;
++
++	unscaled->from_face = FALSE;
+ 	unscaled->face = NULL;
++
++	filename_copy = strdup (filename);
++	if (filename_copy == NULL)
++	    return CAIRO_STATUS_NO_MEMORY;
++
++	_cairo_ft_unscaled_font_init_key (unscaled, filename_copy, id);
+     }
+ 
+     unscaled->have_scale = 0;
+@@ -313,9 +316,6 @@
+     
+     unscaled->faces = NULL;
+ 
+-    _cairo_unscaled_font_init (&unscaled->base,
+-			       &cairo_ft_unscaled_font_backend);
+-
+     return CAIRO_STATUS_SUCCESS;
+ }
+ 
================================================================



More information about the pld-cvs-commit mailing list