lilypond-devel
[Top][All Lists]
Advanced

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

Re: Segfault when attempting to create an undefined grob. (issue 3498400


From: v . villenave
Subject: Re: Segfault when attempting to create an undefined grob. (issue 349840043 by address@hidden)
Date: Thu, 14 Feb 2019 13:59:54 -0800

Reviewers: Dan Eble,

Message:
On 2019/02/10 13:36:00, Dan Eble wrote:
It's certainly an improvement.
A user might appreciate seeing the input location in the error
message.

OK, pushed as
https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=88980c4f927bd1f911d66cc5352b4ac73c5eb756

Thanks!

V.

Description:
Segfault when attempting to create an undefined grob.

This commit replaces an abrupt segfault with an informative
progerror message when compiling invalid code such as:

\new StaffGroup \with {
  systemStartDelimiter = #'unknownName
} { c' }

Please advise whether this is appropriate.

Please review this at https://codereview.appspot.com/349840043/

Affected files (+4, -0 lines):
  M lily/engraver.cc


Index: lily/engraver.cc
diff --git a/lily/engraver.cc b/lily/engraver.cc
index 09218dba68b5f3ad191f1add1a8bff8420164841..66cf1b0fe1922e5231258c30e1f5a47d0ef1faae 100644
--- a/lily/engraver.cc
+++ b/lily/engraver.cc
@@ -118,6 +118,10 @@ Engraver::internal_make_grob (SCM symbol,
 #endif

   SCM props = Grob_property_info (context (), symbol).updated ();
+  if (!scm_is_pair (props)) {
+    programming_error (to_string ("No grob definition found for `%s’.",
+      ly_symbol2string (symbol).c_str ()));
+  };

   Grob *grob = 0;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]