<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Hi,<br>
    <br>
    I'm currently using MonoMac to port a Windows application to Mac OS
    X. Recently I've started building MonoMac myself from the sources on
    github, and had started to get NullReferenceExceptions at seemingly
    random times.<br>
    <br>
    The cause was apparently
    MonoMac.ObjCRuntime.Runtime.GetNSObject(IntPtr), which was changed a
    while ago to return null if the WeakReference to the managed
    NSObject held in the object_map has been garbage collected - see
    this commit:<br>
    <br>
<a class="moz-txt-link-freetext" href="https://github.com/mono/monomac/commit/2482fd3eef1ac5825146456a5b9c99ec7609fee6">https://github.com/mono/monomac/commit/2482fd3eef1ac5825146456a5b9c99ec7609fee6</a><br>
    <br>
    The commit message says that it is OK to return null because the
    callers check for it, but as far as I can tell this does not seem to
    be the case. NSArray.ArrayFromHandle(IntPtr) is one example, but
    GetNSObject(IntPtr) is public so I presume any application code
    could call it and expect not to get null back.<br>
    <br>
    I managed to fix the problem in my application by changing
    monomac/src/ObjCRuntime/Runtime.cs as shown in the attached diff.<br>
    <br>
    I searched the bug database and the web and couldn't find any
    reference to this problem, which surprised me and made me wonder if
    I'm doing something wrong - I'm a complete newbie when it comes to
    git(hub)!<br>
    <br>
    I'm not sure of the correct procedure for dealing with problems like
    this - should I submit a bug report? (I'm not sure whether that's
    only for official releases)<br>
    <br>
    Thanks for your patience, any help would be greatly appreciated!<br>
    <br>
    Dan<br>
    <br>
    <a></a><br>
  </body>
</html>