Prevents Beam vs Flag collisions (issue 5527047)

2012-01-07 Thread lemzwerg

LGTM.  Will test soon.


http://codereview.appspot.com/5527047/diff/1/lily/lily-guile.cc
File lily/lily-guile.cc (left):

http://codereview.appspot.com/5527047/diff/1/lily/lily-guile.cc#oldcode573
lily/lily-guile.cc:573: int i = scm_to_int (k);
Please apply this cosmetic patch directly to the repository; I think it
doesn't belong to the rest of the patch set.

http://codereview.appspot.com/5527047/

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Prevents Beam vs Flag collisions (issue 5527047)

2012-01-07 Thread mtsolo

Reviewers: lemzwerg,

Message:
On 2012/01/07 15:18:07, lemzwerg wrote:

LGTM.  Will test soon.



http://codereview.appspot.com/5527047/diff/1/lily/lily-guile.cc
File lily/lily-guile.cc (left):



http://codereview.appspot.com/5527047/diff/1/lily/lily-guile.cc#oldcode573

lily/lily-guile.cc:573: int i = scm_to_int (k);
Please apply this cosmetic patch directly to the repository; I think

it doesn't

belong to the rest of the patch set.


Sorry ... I have no clue why this is here.
Will get rid of it.

Description:
Prevents Beam vs Flag collisions

Please review this at http://codereview.appspot.com/5527047/

Affected files:
  A input/regression/beam-collision-flag.ly
  M lily/beam-collision-engraver.cc
  M lily/lily-guile.cc


Index: input/regression/beam-collision-flag.ly
diff --git a/input/regression/beam-collision-flag.ly  
b/input/regression/beam-collision-flag.ly

new file mode 100644
index  
..beed7315ab283458b5e4184fd587724c4f78d352

--- /dev/null
+++ b/input/regression/beam-collision-flag.ly
@@ -0,0 +1,11 @@
+\version 2.15.24
+
+\header {
+  texidoc = Beams do not collide with flags.
+
+}
+
+\relative c' 
+  { \voiceOne c'8 r } \\
+  { \voiceThree c,8.[ c'16] }
+
Index: lily/beam-collision-engraver.cc
diff --git a/lily/beam-collision-engraver.cc  
b/lily/beam-collision-engraver.cc
index  
8e397508b79df7aa092516598a6e5df8fcb653b0..aec586157bbb5104964b7c6a482b978d516ba93b  
100644

--- a/lily/beam-collision-engraver.cc
+++ b/lily/beam-collision-engraver.cc
@@ -37,6 +37,7 @@ protected:
   DECLARE_ACKNOWLEDGER (key_signature);
   DECLARE_ACKNOWLEDGER (time_signature);
   DECLARE_ACKNOWLEDGER (beam);
+  DECLARE_ACKNOWLEDGER (flag);

   virtual void finalize ();

@@ -171,6 +172,12 @@ Beam_collision_engraver::acknowledge_time_signature  
(Grob_info i)

 }

 void
+Beam_collision_engraver::acknowledge_flag (Grob_info i)
+{
+  covered_grobs_.push_back (i);
+}
+
+void
 Beam_collision_engraver::acknowledge_beam (Grob_info i)
 {
   beams_.push_back (i);
@@ -185,6 +192,7 @@ ADD_ACKNOWLEDGER (Beam_collision_engraver, accidental);
 ADD_ACKNOWLEDGER (Beam_collision_engraver, clef);
 ADD_ACKNOWLEDGER (Beam_collision_engraver, key_signature);
 ADD_ACKNOWLEDGER (Beam_collision_engraver, time_signature);
+ADD_ACKNOWLEDGER (Beam_collision_engraver, flag);
 ADD_ACKNOWLEDGER (Beam_collision_engraver, beam);

 ADD_TRANSLATOR (Beam_collision_engraver,
Index: lily/lily-guile.cc
diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc
index  
cc71dcba2ceff4ece9258e6f3da0208ad2aaf6d1..6035a91983303d6284e83d4660c4ada853ef7514  
100644

--- a/lily/lily-guile.cc
+++ b/lily/lily-guile.cc
@@ -570,9 +570,9 @@ robust_scm2vsize (SCM k, vsize o)
 {
   if (scm_integer_p (k) == SCM_BOOL_T)
 {
-  int i = scm_to_int (k);
-  if (i = 0)
-return (vsize) i;
+  o = scm_to_int (k);
+  if (o = 0)
+return (vsize) o;
 }
   return o;
 }



___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel