<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">In '<span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; ">vtkCocoaRenderWindow::vtkCocoaRenderWindow()' you create a CocoaManager variable with a NSMutableDictionary. This variable is created as an autorelease object : that means that this object is not retained and can be released by the OS when it quits the function (during the next runloop).</span><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; ">In my opinion, it should be</span></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; "><span style="color: #ab1579">this</span>->SetCocoaManager(<span style="color: #ab1579">reinterpret_cast</span>&lt;<span style="color: #ab1579">void</span> *>( [[NSMutableDictionary dictionary] retain]));</span></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">instead of</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; "><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; "><span style="color: rgb(171, 21, 121); ">this</span>->SetCocoaManager(<span style="color: rgb(171, 21, 121); ">reinterpret_cast</span>&lt;<span style="color: rgb(171, 21, 121); ">void</span>&nbsp;*>( [NSMutableDictionary dictionary]));</span></div><div><br></div></span></span></font></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; ">and then in the destructor</span></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(35, 110, 37); ">// Release the cocoa object manager.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">NSMutableDictionary* manager = <span style="color: #ab1579">reinterpret_cast</span>&lt;NSMutableDictionary *>(<span style="color: #ab1579">this</span>->GetCocoaManager());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">[manager release];</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><span style="color: #ab1579">this</span>->SetCocoaManager(<span style="color: #ab1579">NULL</span>);&nbsp;</p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><br></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px">What do you think?</p></body></html>