Hi Geoff,<br><br><div class="gmail_quote">2011/3/29 Geoff Norton <span dir="ltr">&lt;<a href="mailto:gnorton@novell.com" target="_blank">gnorton@novell.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word">I think you&#39;re confused what .Close () does.  Since it specifically calls out it does not call WillClose either:<div><br></div><div><a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html" target="_blank">http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html</a></div>

<div><br></div></div></blockquote><div>Indeed I am confused. The documentation for the close: method, which I have read in detail, reads:</div><div>&quot;<span class="Apple-style-span" style="font-family: &#39;Lucida Grande&#39;, Geneva, Helvetica, Arial, sans-serif; font-size: 13px; ">The close method posts an <code style="font-size: 13px; font-family: Courier, Consolas, monospace; "><a href="http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html#//apple_ref/c/data/NSWindowWillCloseNotification" style="text-decoration: none; ">NSWindowWillCloseNotification</a></code> notification to the default notification center.&quot;</span></div>
<div><br></div><div><span class="Apple-style-span" style="font-family: &#39;Lucida Grande&#39;, Geneva, Helvetica, Arial, sans-serif; font-size: 13px; "></span>What I understood (beware: I am pretty new to cocoa/monomac) is that the NSWindowWillCloseNotification maps to Window.WillClose() (and I&#39;m probaly wrong here!).</div>
<div>I tried invoking PerformClose() and OrderOut(): the first delivers WillClose(), the second does not.</div><div><br></div><div>Also, I read about PerformClose(). AFAIK, It differs from Close() in that the former (a) does not send a windowShouldClose: and (b) does not simulate the user clicking the close button (and this is why PerformClose() does not word in Borderless windows)</div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div></div>
<div><a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html" target="_blank"></a>Anyways, the issue with .Close is it does a .Release under the hood, that we aren&#39;t aware of, leading to a double free.</div>

<div><br></div></div></blockquote><div>But PerformClose() is exposed in MonoMac. Is the issue from Close() present? I am using PerformClose() and maybe was lucky enough, but will the double free hit me any time?</div><div>
<br></div><div><br></div><div>Considering, my specific doubts are the following. I would really appreciate any clarification:</div><div>1) Is NSWindowWillCloseNotification mapped to Window.WillClose()?</div><div>2) Close() has the doube-free issue, ok. But, what about PerformClose()? Can I use it safely?</div>
<div>3) You mention that &quot;<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">the functionality is easily accomplished in better ways&quot;. Which ways? Using OrderOut()? In that case, do I have to call Release()? And what about the WillClose()?</span></div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>4) What are the differences between OrderOut() and Close()?  Only the invocation to Release()?</div>
<div><br></div><div><br></div><div>Thanks in advance,</div><div>Maxi</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">
<div><div><div><div><div>On 2011-03-29, at 10:58 AM, Maxi Combina wrote:</div><br><blockquote type="cite"><div>.OrderOut() and .Close() don&#39;t seem to be equivallent:</div>
If I use Window.OrderOut() then the Window.WillClose() is not dispatched.<div>I can not invoke PerformClose() since I use Borderless windows.</div><div><br>
</div><div>I found 2 ideas, please advise me on those:</div><div>1) To have my own events: I use .OrderOut() and launch a custom event, to replace WillClose().</div><div>2) I code:</div><div>   OrderOut();</div><div>   StyleMask = Titled | Closable; // enable PerformClose()</div>


<div>   PerformClose(this) // Close the already hidden window</div><div><br></div><div>Or maybe I should refactor.</div><div><br></div><div>Is it just me that finds the missing .Close() a little odd?</div><div><br></div>

<div>
Bests,</div><div>Maxi</div><div><br><div class="gmail_quote">2011/3/29 Geoff Norton <span dir="ltr">&lt;<a href="mailto:gnorton@novell.com" target="_blank">gnorton@novell.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div style="word-wrap:break-word">Use .OrderOut ()<div><br></div><div>-g</div><div><br><div><div><div></div><div><div>On 2011-03-29, at 5:54 AM, Maxi Combina wrote:</div><br></div></div><blockquote type="cite">
<div><div></div><div>Hello,<div><br></div><div>I have a Borderless window which can not be closed with PerformClose(), since this method (as per Apple documentation) &quot;simulates the user clicking the close button&quot; and &quot;if the windows doesn&#39;t ahve a close button or can&#39;t be closed [...], the system emits the alert sound&quot;.</div>



<div>For closing a window I used the &quot;Close()&quot; method. But in the current src/appkit.cs the &quot;Close()&quot; is commented out:</div><div><br clear="all"><div>/* NSWindow.Close by default calls [window release]</div>



<div>                 * This will cause a double free in our code since we&#39;re not aware of this</div><div>                 * and we end up GCing the proxy eventually and sending our own release</div><div>                 * Removing this method for now</div>



<div>                [Export (&quot;close&quot;)]</div><div>                void Close ();</div><div>                 */</div><div><br></div><div>I am looking for a way of closing (and releasing) the window.</div><div>Any ideas?</div>



<div><br></div><div>Thanks!</div><div>maxi</div><div><br></div>-- <br><b>Maxi Combina</b><div><span style="font-family:Helvetica, sans-serif;font-size:13px"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">



<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)">Cell:<a style="color:rgb(66, 99, 171)">+1 408 300 3614</a></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">



<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)">Tel:  <a style="color:rgb(66, 99, 171)">+1 408 524 1579</a></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">



<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)"><a style="color:rgb(66, 99, 171)">440 N. Wolfe Road. Sunnyvale</a>. <a style="color:rgb(66, 99, 171)">CA. 94085</a>. USA</font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 0, 0);min-height:14px;font-size:medium;font-family:Helvetica">



<br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica"><font face="Helvetica" size="3" color="#144fae" style="color:rgb(20, 79, 174)"><a href="http://www.passwordbank.com/" style="color:rgb(66, 99, 171)" target="_blank"></a><a href="http://www.passwordbank.com/" style="color:rgb(66, 99, 171)" target="_blank">www.PasswordBank.com</a></font></div>



<div><span style="font-family:arial;font-size:small"><img></span></div></span></div><div><div>This message and its attachments are sent from PasswordBank, Inc. and may contain information that is</div>
<div>confidential. If you are not the intended recipient, you are prohibited from printing, copying, forwarding or</div><div>saving them. Please delete the message and attachments without printing, copying, forwarding or saving</div>



<div>them, and notify the sender immediately. Message transmission is not guaranteed to be secure.</div></div><br>
</div></div></div>
_______________________________________________<br>Mono-osx mailing list<br><a href="mailto:Mono-osx@lists.ximian.com" target="_blank">Mono-osx@lists.ximian.com</a><br><a href="http://lists.ximian.com/mailman/listinfo/mono-osx" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br>


</blockquote></div><br></div></div></blockquote></div><br><br clear="all"><br>-- <br><b>Maxi Combina</b><div><span style="font-family:Helvetica, sans-serif;font-size:13px"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">


<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)">Cell:<a style="color:rgb(66, 99, 171)">+1 408 300 3614</a></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">


<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)">Tel:  <a style="color:rgb(66, 99, 171)">+1 408 524 1579</a></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">


<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)"><a style="color:rgb(66, 99, 171)">440 N. Wolfe Road. Sunnyvale</a>. <a style="color:rgb(66, 99, 171)">CA. 94085</a>. USA</font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 0, 0);min-height:14px;font-size:medium;font-family:Helvetica">


<br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica"><font face="Helvetica" size="3" color="#144fae" style="color:rgb(20, 79, 174)"><a href="http://www.passwordbank.com/" style="color:rgb(66, 99, 171)" target="_blank"></a><a href="http://www.passwordbank.com/" style="color:rgb(66, 99, 171)" target="_blank">www.PasswordBank.com</a></font></div>


<div><span style="font-family:arial;font-size:small"><img src="http://www.passwordbank.com/images/PBK_New_250_pixels.png"></span></div></span></div><div><div>This message and its attachments are sent from PasswordBank, Inc. and may contain information that is</div>


<div>confidential. If you are not the intended recipient, you are prohibited from printing, copying, forwarding or</div><div>saving them. Please delete the message and attachments without printing, copying, forwarding or saving</div>


<div>them, and notify the sender immediately. Message transmission is not guaranteed to be secure.</div></div><br>
</div>
</blockquote></div><br></div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br><b>Maxi Combina</b><div><span style="font-family:Helvetica, sans-serif;font-size:13px"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">

<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)">Cell:<a style="color:rgb(66, 99, 171)">+1 408 300 3614</a></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">

<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)">Tel:  <a style="color:rgb(66, 99, 171)">+1 408 524 1579</a></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica">

<font face="Helvetica" size="3" color="#000000" style="color:rgb(0, 0, 0)"><a style="color:rgb(66, 99, 171)">440 N. Wolfe Road. Sunnyvale</a>. <a style="color:rgb(66, 99, 171)">CA. 94085</a>. USA</font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 0, 0);min-height:14px;font-size:medium;font-family:Helvetica">

<br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:medium;font-family:Helvetica"><font face="Helvetica" size="3" color="#144fae" style="color:rgb(20, 79, 174)"><a href="http://www.passwordbank.com/" style="color:rgb(66, 99, 171)" target="_blank"></a><a href="http://www.passwordbank.com/" style="color:rgb(66, 99, 171)" target="_blank">www.PasswordBank.com</a></font></div>

<div><span style="font-family:arial;font-size:small"><img src="http://www.passwordbank.com/images/PBK_New_250_pixels.png"></span></div></span></div><div><div>This message and its attachments are sent from PasswordBank, Inc. and may contain information that is</div>

<div>confidential. If you are not the intended recipient, you are prohibited from printing, copying, forwarding or</div><div>saving them. Please delete the message and attachments without printing, copying, forwarding or saving</div>

<div>them, and notify the sender immediately. Message transmission is not guaranteed to be secure.</div></div><br>