summaryrefslogtreecommitdiffstats
path: root/gfx/cairo/fix-win32-font-assertion.patch
blob: 23cc5474b8cfffe0762d318270551a4c53bf08bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
From: Jonathan Kew <jkew@mozilla.com>
bug 838617 - don't assert equality with the key's hash unless it was actually initialized. r=roc

diff --git a/gfx/cairo/cairo/src/cairo-win32-font.c b/gfx/cairo/cairo/src/cairo-win32-font.c
--- a/gfx/cairo/cairo/src/cairo-win32-font.c
+++ b/gfx/cairo/cairo/src/cairo-win32-font.c
@@ -2104,19 +2104,19 @@ cairo_win32_font_face_create_for_logfont
     font_face = malloc (sizeof (cairo_win32_font_face_t));
     if (!font_face) {
         _cairo_error_throw (CAIRO_STATUS_NO_MEMORY);
 	goto FAIL;
     }
 
     _cairo_win32_font_face_init_key (font_face, logfont, font);
     _cairo_font_face_init (&font_face->base, &_cairo_win32_font_face_backend);
-    assert (font_face->base.hash_entry.hash == key.base.hash_entry.hash);
 
     if (!font) {
+        assert (font_face->base.hash_entry.hash == key.base.hash_entry.hash);
         status = _cairo_hash_table_insert (hash_table,
                                            &font_face->base.hash_entry);
         if (unlikely (status))
 	    goto FAIL;
     }
 
 DONE:
     if (!font) {