diff --git a/lily/scale.cc b/lily/scale.cc index e3fe7ba..a14d8b3 100644 --- a/lily/scale.cc +++ b/lily/scale.cc @@ -89,9 +89,11 @@ LY_DEFINE (ly_set_default_scale, "ly:set-default-scale", Scale *s = Scale::unsmob (scale); if (default_global_scale) - default_global_scale->unprotect (); - default_global_scale = s; - s->protect (); + *default_global_scale = *s; + else { + default_global_scale = s; + s->protect (); + } return SCM_UNSPECIFIED; }