[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#750785: Slowness with context and xetex



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Attached.

On 14-08-12 05:31 PM, Hilmar Preusse wrote:
> On 12.08.14 Behdad Esfahbod (behdad@behdad.org) wrote:
> 
> Hi Behdad,
> 
>> https://github.com/behdad/harfbuzz/commit/8d5eebc0c6ada01128c6ee384340efdbef7ba29d
>>
>
>> 
I'm failing to pull a raw unified diff out of github. Could you post
> it here?
> 
> Tnanks, Hilmar
> 

- -- 
behdad
http://behdad.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAlPqjK4ACgkQn+4E5dNTERUkowCfV1bDY1KIl1+dhhGq9WPstAnf
piEAoImHbpGBgETHMK7wRUm5/c/QVL03
=M1g2
-----END PGP SIGNATURE-----
commit 8d5eebc0c6ada01128c6ee384340efdbef7ba29d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 12 16:50:22 2014 -0400

    [shape-plan] Fix shape-plan caching with more than one requested shaper
    
    Wasn't breaking out of loop, ouch!
    
    http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html

diff --git a/src/hb-shape-plan.cc b/src/hb-shape-plan.cc
index fa0db6a..23beda1 100644
--- a/src/hb-shape-plan.cc
+++ b/src/hb-shape-plan.cc
@@ -420,17 +420,20 @@ hb_shape_plan_create_cached (hb_face_t                     *face,
   if (shaper_list) {
     /* Choose shaper.  Adapted from hb_shape_plan_plan(). */
 #define HB_SHAPER_PLAN(shaper) \
-	  HB_STMT_START { \
+	  { \
 	    if (hb_##shaper##_shaper_face_data_ensure (face)) \
+	    { \
 	      proposal.shaper_func = _hb_##shaper##_shape; \
-	  } HB_STMT_END
+	      break; \
+	    } \
+	  }
 
     for (const char * const *shaper_item = shaper_list; *shaper_item; shaper_item++)
       if (0)
 	;
 #define HB_SHAPER_IMPLEMENT(shaper) \
       else if (0 == strcmp (*shaper_item, #shaper)) \
-	HB_SHAPER_PLAN (shaper);
+	HB_SHAPER_PLAN (shaper)
 #include "hb-shaper-list.hh"
 #undef HB_SHAPER_IMPLEMENT
 

Reply to: