<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I know my opinion is of mixed value, but it looks to make sense to
    me..  If the toolstripitem is being changed so it no longer has an
    owner, calculating a size might not make sense....<br>
    <br>
    -Rob<br>
    <br>
    On 06/15/2012 08:34 PM, Steven Boswell II wrote:
    <blockquote
      cite="mid:1339806877.40054.YahooMailNeo@web160406.mail.bf1.yahoo.com"
      type="cite">
      <div style="color:#000; background-color:#fff; font-family:times
        new roman, new york, times, serif;font-size:12pt">
        <div>Enclosed is a new patch, mostly for discussion purposes,
          since there's no unit test & I don't know how I would
          write one for this.</div>
        <div><br>
        </div>
        <div>Today, after using my application in a particular way, I
          got it to crash, putting up an "Exception caught" window.  I
          can't reproduce the problem outside of running it in the
          MonoDevelop debugger, and there appears to be no way to copy
          the contents of the stack-trace tab in the exception-caught
          window (really? how the heck did THIS get missed?), so I can't
          post the full details.  But it starts at
          System.ComponentModel.Finalize() with a tool-strip-item (the
          one I selected seconds before the crash), and ends in
          System.Drawing.GDIPlus.CheckStatus(Status), where it reports
          "A null reference or invalid value was found [GDI+ status:
          InvalidParameter]".</div>
        <div><br>
        </div>
        <div>I have no idea why a copy of my menu-item is getting
          finalized; I certainly didn't make a copy of it.  The good
          news is, this crash is consistently repeatable, if I just use
          my application in the same certain order.</div>
        <div><br>
        </div>
        <div>Digging through the stack trace, I arrived at
          System.Windows.Forms.ToolStripItem.set_InternalOwner, where
          the owner was being set to null, and right
          afterwards, CalculateAutoSize() was being called.  Why would
          anyone need to calculate the size of a menu-item that isn't
          even connected to a menu any more?  So, for me, the bug fix
          was obvious: check if the owner isn't null before
          calling CalculateAutoSize().  That's what the enclosed patch
          does.</div>
        <div><br>
        </div>
        <div>With this patch, the bug doesn't reproduce, and the
          menu-item I selected is still there and doing fine.</div>
        <div><br>
        </div>
        <div>Any thoughts on the correctness of this bug fix?  Or how
          one would write a unit test for it?  Or how to copy the
          contents of the stack-trace tab in MonoDevelop's
          exception-caught window?</div>
        <div><br>
        </div>
        <div>Steven Boswell</div>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Mono-devel-list mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a>
<a class="moz-txt-link-freetext" href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>