diff --git a/thread.go b/thread.go index ec84a29..89e81f0 100644 --- a/thread.go +++ b/thread.go @@ -366,14 +366,17 @@ func RestoreSimpleThread(ctx *Context, thread Thread, j SimpleThreadJSON, nodes return fmt.Errorf("%+v is not a Thread as expected", child_node) } - info_ser, err := json.Marshal(info_raw) - if err != nil { - return err - } + var parsed_info ThreadInfo + if info_raw != nil { + info_ser, err := json.Marshal(info_raw) + if err != nil { + return err + } - parsed_info, err := thread.DeserializeInfo(ctx, info_ser) - if err != nil { - return err + parsed_info, err = thread.DeserializeInfo(ctx, info_ser) + if err != nil { + return err + } } thread.AddChild(child_t, parsed_info)