X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Flookup.cc;h=e903d5a9a403b18f1ce1192642f8f769619b741e;hb=ecc41fd08c437396edb27d1fb82c977e7404803e;hp=e0117c1da197fd42c14a82a51c20c1f83008c5ec;hpb=2da5a512119ca9dda3a05e1c122daea5b17f9049;p=lilypond.git diff --git a/lily/lookup.cc b/lily/lookup.cc index e0117c1da1..e903d5a9a4 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -27,6 +27,7 @@ using namespace std; #include "line-interface.hh" #include "warn.hh" +#include "international.hh" #include "dimensions.hh" #include "bezier.hh" #include "file-path.hh" @@ -169,13 +170,18 @@ Lookup::filled_box (Box b) Stencil Lookup::round_filled_box (Box b, Real blotdiameter) { - if (b.x ().length () < blotdiameter) - blotdiameter = b.x ().length (); - if (b.y ().length () < blotdiameter) - blotdiameter = b.y ().length (); + Real width = b.x ().delta (); + blotdiameter = min (blotdiameter, width); + Real height = b.y ().delta (); + blotdiameter = min (blotdiameter, height); - if (b.x ().is_empty () || b.y ().is_empty ()) - return Stencil (b, SCM_EOL); + if (blotdiameter < 0.0) + { + if (!isinf (blotdiameter)) + warning (_f ("Not drawing a box with negative dimension, %.2f by %.2f.", + width, height)); + return Stencil (b, SCM_EOL); + } SCM at = (scm_list_n (ly_symbol2scm ("round-filled-box"), scm_from_double (-b[X_AXIS][LEFT]),