<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi All,<div><br></div><div>I'm running into a strange problem that I though perhaps someone else might have run into and might have a solution for.</div><div><br></div><div>If I were writing a document based application in Objective-C and wanted to the user to be able to cancel the opening of a document, I could do something like this (which I can confirm works fine):</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; ">- (<span style="color: #bb2d9d">BOOL</span>)readFromData:(<span style="color: #713ea3">NSData</span> *)data ofType:(<span style="color: #713ea3">NSString</span> *)typeName error:(<span style="color: #713ea3">NSError</span> **)outError</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; ">{</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; ">    // Loading code here...</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; color: rgb(113, 62, 163); "><span style="color: #000000">    *outError = [</span>NSError<span style="color: #000000"> </span><span style="color: #3e1f7c">errorWithDomain</span><span style="color: #000000">:</span>NSCocoaErrorDomain <span class="Apple-style-span" style="color: rgb(0, 0, 0); "><span style="color: #3e1f7c">code</span>:<span style="color: #3e1f7c">NSUserCancelledError</span> <span style="color: #3e1f7c">userInfo</span>:<span style="color: #bb2d9d">nil</span>];</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; color: rgb(187, 45, 157); "><span style="color: #000000">    </span>return<span style="color: #000000"> </span>NO<span style="color: #000000">;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; ">}</div></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; "><div style="font-family: Helvetica; font-size: medium; ">The (what seems to me) obvious thing to do in MonoMac would be to implement this:</div><div style="font-family: Helvetica; font-size: medium; "><br></div><div><div style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span style="color: #1738f5">publi</span>c override bool ReadFromData (NSData data, string typeName, out NSError outError)</div><div style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">{</div><div style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">      </span>// Loading code here...</div><div style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><br></div><div style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">       </span>outError = NSError.FromDomain(NSError.CocoaErrorDomain,1376);</div><div style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>return false;</div><div style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">}</div><p style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; "><br></p><p style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; ">However, when I do so, my app crashes with the following stack trace:</span></p><p style="font-family: Helvetica; font-size: medium; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; "><br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#0  0x9287dfd5 in __wait4 ()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#1  0x93be04ec in waitpid$UNIX2003 ()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#2  0x0009fe9b in mono_handle_native_sigsegv (signal=11, ctx=0xbfffea5c) at mini-exceptions.c:2192</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#3  0x00004f6e in mono_sigsegv_signal_handler (_dummy=10, info=0xbfffea1c, context=0xbfffea5c) at mini.c:5917</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#4  <signal handler called></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#5  0x9249cd44 in objc_msgSend ()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#6  0x991622cc in -[NSDocumentController(NSInternal) _fixedFailureReasonFromError:] ()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#7  0x9916b5f4 in -[NSDocumentController _willPresentOpeningError:forURL:] ()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#8  0x9916b197 in -[NSDocumentController _openDocumentsWithContentsOfURLs:presentErrors:completionHandler:] ()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">#9  0x9915f749 in -[NSDocumentController openDocument:] ()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; ">(Rest of stack trace omitted)</div></p><div><br></div></div><div><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; ">Has anyone else run into this problem, and if so were you able to find a solution/workaround?</span></div><div><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; "><br></span></div><div><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; ">Thanks,</span></div><div><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; ">Jon...</span></div></div></body></html>