Improved context handling, to allow elements out of context.
[gedcom-parse.git] / gom / note.c
index fbe253f9778061b5d464f275b243fcd33713bfb8..2f1cba243ca61bd00efb4bb07bbf483608d62e30 100644 (file)
@@ -56,7 +56,6 @@ DEFINE_DESTROYFUNC(note, gom_first_note)
 DEFINE_ADDFUNC(note, XREF_NOTE)
 DEFINE_DELETEFUNC(note)
 DEFINE_GETXREFFUNC(note, XREF_NOTE)
-DEFINE_MAKELINKFUNC(note, XREF_NOTE)
      
 DEFINE_STRING_END_REC_CB(note, note_end, text)
 
@@ -74,7 +73,7 @@ Gedcom_ctxt sub_cont_conc_start(_ELT_PARAMS_)
   if (! ctxt)
     NO_CONTEXT;
   else
-    result = make_gom_ctxt(elt, ctxt->obj_type, ctxt->ctxt_ptr);
+    result = dup_gom_ctxt(ctxt, elt);
   
   return (Gedcom_ctxt)result;
 }
@@ -86,6 +85,16 @@ void note_subscribe()
   gedcom_subscribe_to_element(ELT_SUB_CONC, sub_cont_conc_start, def_elt_end);
 }
 
+void UNREFALLFUNC(note)(struct note *obj)
+{
+  if (obj) {
+    UNREFALLFUNC(source_citation)(obj->citation);
+    UNREFALLFUNC(user_ref_number)(obj->ref);
+    UNREFALLFUNC(change_date)(obj->change_date);
+    UNREFALLFUNC(user_data)(obj->extra);
+  }
+}
+
 void CLEANFUNC(note)(struct note* note)
 {
   if (note) {