]> git.donarmstrong.com Git - lilypond.git/commitdiff
(calc_control_points): handle suicide
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 29 Mar 2006 12:23:58 +0000 (12:23 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 29 Mar 2006 12:23:58 +0000 (12:23 +0000)
case. Backportme.

ChangeLog
lily/ttf.cc
lily/tuplet-bracket.cc

index a4e6dcd69f786aee58a4d36d9d6b9502942ebb6a..d5083e89dd1ae853a93a1e2c8685c475d087b443 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/tuplet-bracket.cc (calc_control_points): handle suicide
+       case. Backportme.
+
+2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/ttf.cc (make_index_to_charcode_map): restore old
+       cmap. Backportme.
+
 2006-03-28  Werner Lemberg  <wl@gnu.org>
 
        * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
@@ -14,7 +24,7 @@
 2006-03-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
 
        * mf/feta-bolletjes.mf: match width of solfa notes with normal
-       note heads.
+       note heads. Backportme.
 
        * lily/ttf.cc (print_trailer): use it.
 
index a3f85297672cebd36c8faceb32f93341df363ee2..8fc2c148bd70124ccf2414451ddacbb06cab6fbd 100644 (file)
@@ -24,11 +24,14 @@ make_index_to_charcode_map (FT_Face face)
   Index_to_charcode_map m;
   FT_ULong charcode;
   FT_UInt gindex;
-  
+
+  FT_CharMap current_cmap = face->charmap;
   FT_Select_Charmap(face, FT_ENCODING_UNICODE);
   for (charcode = FT_Get_First_Char (face, &gindex); gindex != 0;
        charcode = FT_Get_Next_Char (face, charcode, &gindex))
     m[gindex] = charcode;
+  FT_Set_Charmap (face, current_cmap);
+  
   return m;
 }
 
index b812e622e32b8d167bd649e5d2d1dcd9ca489230..4ca50328295c88d6319b39f69706925bff100a27 100644 (file)
@@ -178,8 +178,15 @@ Tuplet_bracket::calc_control_points (SCM smob)
 
   extract_grob_set (me, "note-columns", columns);
 
+  SCM scm_positions = me->get_property ("positions");
+  if (!me->is_live ())
+    return SCM_EOL;
+  
+  if (!scm_is_pair (scm_positions))
+    programming_error ("Positions should be number pair");
+    
   Drul_array<Real> positions
-    = ly_scm2realdrul (me->get_property ("positions"));
+    = robust_scm2drul (scm_positions, Drul_array<Real> (0,0));
 
   Grob *commonx = get_common_x (me);
   Direction dir = get_grob_direction (me);
@@ -627,7 +634,6 @@ Tuplet_bracket::calc_positions (SCM smob)
   Spanner *me = unsmob_spanner (smob);
   extract_grob_set (me, "note-columns", columns);
 
-
   /*
     Don't print if it doesn't span time.
    */