<br><br><div class="gmail_quote">On Mon, Mar 14, 2011 at 9:53 AM, Miguel de Icaza <span dir="ltr">&lt;<a href="mailto:miguel@novell.com">miguel@novell.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello Regan,<br>
<br>
    Thanks for this fabulous list of patches:<br>
<div class="im"><br>
&gt; 1) The monomac build from git is broken (at least for me: OSX 10.6.6, mono<br>
&gt; 2.10.1.0). Seems some changes<br>
&gt; to maccore/src/CoreMedia/CMSampleBuffer.cs requires CoreMedia on<br>
&gt; monomac, However CoreMedia is not a public framework on OSX.<br>
&gt;  coremedia.patch (for monomac) fixes this by adding a path in<br>
&gt; monomac/src/Constants.cs to a private framework, but it may be better to<br>
&gt; revisit CMSampleBuffer.cs.<br>
<br>
</div>Applied.<br>
<div class="im"><br>
&gt; 2) NSFileManager.patch (for maccore) adds the &#39;Url&#39; methods to the<br>
&gt; NSFileManager type in maccore/src/foundation.cs and some supporting enums.<br>
&gt;  These are new in iOS 4, and have been attributed with [Since(4,0)], however<br>
&gt; if you would prefer to only have them in monomac, I can surround with an<br>
&gt; #ifdef<br>
<br>
</div>Applied.<br>
<div class="im"><br>
&gt; 3) I think I finally understand the Drag/Drop classes for monomac, and have<br>
&gt; provided dragging.patch (for monomac) with the appropriate changes to<br>
&gt; appkit.cs.  In essence the messages that are sent to delegates that might<br>
&gt; respond to &#39;drag events&#39; are sent an object that implements NSDraggingInfo.<br>
&gt;  NSDraggingInfo is a protocol, but implementing this as a [Model] does not<br>
&gt; work because this object is not created by clients, and the runtime cannot<br>
&gt; cast the actual object created by appkit to the C# class.  Drag and Drop<br>
&gt; Programming Topics for Cocoa mentions that the system creates an<br>
&gt; undocumented NSDragDestination object which implements NSDraggingInfo.<br>
&gt;  Since the docs refer to NSDraggingInfo and not NSDragDestination, and since<br>
&gt; NSDraggingInfo is a more descriptive name, it is used in appkit.cs, and the<br>
&gt; Name attribute is used to register NSDraggingInfo to NSDragDestination.  I<br>
&gt; tested this with NSDraggingDestination and NSBrowserDelegate, and all seems<br>
&gt; well.  It could be improved by privatizing the constructors for<br>
&gt; NSDraggingInfo.<br>
<br>
</div>Could you contribute a sample that shows this?<br>
<br></blockquote><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><div>Gladly.  The ImageKit sample already shows using NSDraggingDestination.  I&#39;ll work up a sample for NSBrowser, NSTableView, etc </div>
<div class="im" style="color: rgb(80, 0, 80); "></div></span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The other thing to keep in mind is that this is an area that got<br>
revisited in Lion, would you mind checking the documentation for Lion,<br>
because I get the feeling that they improved things in this area.<br>
<div class="im"><br></div></blockquote><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><div>I&#39;m not a member of the Mac Developer Program, and I don&#39;t know how else to get a hold of the Lion docs.</div>
<div class="im" style="color: rgb(80, 0, 80); "></div></span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
&gt; 5) sample.patch eliminates some warnings and errors from the monomac<br>
&gt; samples.  It relies on NSFileManager.patch.  pretty minor stuff, but it is<br>
&gt; nice to have samples that build without warnings/errors.  There is an issue<br>
&gt; with the macdoc sample, but It may be specific to me.  The sample gives<br>
&gt; errors when built from the command line (make/mdtools), but builds fine from<br>
&gt; MonoDevelop.<br>
<br>
</div>The removal of the timer means that we can call destroy when the timer<br>
gets GCed, so it would terminate the timer after a GC pass.<br>
<font color="#888888"><br></font></blockquote><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><div>Oops. Thanks for catching this.</div></span><div>-Regan</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font color="#888888">
Miguel<br>
</font></blockquote></div><br>