Browse Source

Checks if pointer fields are initialized before getting their native pointer

pull/1/head
marcos henrich 13 years ago
parent
commit
515e1ed4a0
  1. 9
      src/Generator/Generators/CLI/CLIMarshal.cs

9
src/Generator/Generators/CLI/CLIMarshal.cs

@ -586,8 +586,17 @@ namespace Cxxi.Generators.CLI @@ -586,8 +586,17 @@ namespace Cxxi.Generators.CLI
if (!string.IsNullOrWhiteSpace(marshal.SupportBefore))
SupportBefore.WriteLine(marshal.SupportBefore);
if(field.Type.IsPointer())
{
SupportBefore.WriteLine("if ({0} != nullptr)", fieldRef);
SupportBefore.PushIndent();
}
SupportBefore.WriteLine("{0}.{1} = {2};", marshalVar, field.OriginalName,
marshal.Return);
if(field.Type.IsPointer())
SupportBefore.PopIndent();
}
public bool VisitFieldDecl(Field field)

Loading…
Cancel
Save