<div dir="ltr"><div>Our application crashes on OSX because of the event processing in <font face="monospace, monospace">function CarbonWindow_MouseProc(ANextHandler: EventHandlerCallRef</font>; at lcl/interfaces/carbon/carbonprivatewindow.inc:329</div><div><br></div><div><font face="monospace, monospace">  if Postpone then</font></div><div><font face="monospace, monospace">  begin</font></div><div><font face="monospace, monospace">    PostponedDown := True;</font></div><div><font face="monospace, monospace">    PostponedDownMsg := TLMMouse(Msg.Message);</font></div><div><font face="monospace, monospace">    Result := CallNextEventHandler(ANextHandler, AEvent);</font></div><div><font face="monospace, monospace">  end</font></div><div><font face="monospace, monospace">  else</font></div><div><font face="monospace, monospace">  begin</font></div><div><font face="monospace, monospace">  ...</font></div><div><font face="monospace, monospace">  end;</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">  // interactive design</font></div><div><font face="monospace, monospace">  if (EventKind = kEventMouseDown)</font></div><div><font face="monospace, monospace">  and Assigned(Widget.LCLObject)</font></div><div><font face="monospace, monospace">  and ((csDesigning in Widget.LCLObject.ComponentState) or (Widget is TCarbonDesignWindow))</font></div><div><font face="monospace, monospace">  and (GetCarbonMouseButton(AEvent) = 1) then</font></div><div><br></div><div>When double clicking on a custom component of ours, an ancestor of the component gets hidden and something else gets shown. Unfortunately, this hiding seems to happen in the call to CallNextEventHandler. During this the Widget gets freed, its Widget.LCLObject overwritten by some non-sense (e.g. $ffffffff), and Widget.LCLObject.ComponentState crashes.</div><div><br></div><div>This doesn't happen on Linux.</div><div><br></div><div>1. Is the a bug in Carbon or are we doing something wrong? I don't yet understand how our hiding code exactly works.</div><div>2. What's the best fix?</div><div><br></div><div>Regards,</div><div>Martin.</div></div>