]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/ly-smobs.icc
release: 1.3.85
[lilypond.git] / lily / include / ly-smobs.icc
index b17bd314f1487ab144a261a23baff84e79077de0..0bcb9d2e8dbabde1ac3bc00c3b0a4e2f89ebbc95 100644 (file)
@@ -67,6 +67,13 @@ ADD_SCM_INIT_FUNC(CL, CL::init_smobs)
 IMPLEMENT_SIMPLE_SMOBS(CL)                                                     \
 SCM                                                                            \
 CL::smobify_self ()                                                            \
+{                                                                              \
+  SCM s =   unprotected_smobify_self ();\
+  scm_protect_object (s);\
+  return s;\
+}\
+SCM                                                                            \
+CL::unprotected_smobify_self ()                                                                \
 {                                                                              \
   /*                                                                           \
     This is local. We don't assign to self_scm_ directly, to assure            \
@@ -82,7 +89,6 @@ CL::smobify_self ()                                                           \
   SCM_SETCDR (s, SCM_PACK(this));                                              \
   self_scm_ = s;                                                               \
  scm_done_malloc(sizeof(CL));                                                  \
-  scm_protect_object (s);                                                      \
   return s;                                                                    \
 }