On 6/11/2019 9:19 AM, Dmitry Boyarintsev via lazarus wrote:
Can we actually try to set the value for the instance variable?

Can anyone try and modify TCocoaApplication.run to look like this. (If you're using trunk, you'll need to have {$define COCOALOOPOVERRIDE} defines in cocoadefines.inc}

David did the research on this one, but IMHO, this is a bad idea. As he said, the inherited run does more than just set _running before it starts calling nextEventMatchingMask; that's is just the bit that causes an obvious crash. It's also poking around the implementation rather than relying on the public API, so it will be more likely to break again going forward.

If it's a problem to check isRunning every time through nextEventMatchingMask, and alternative with the same behavior would be to swizzle in the runloop variant before calling inherited run and switching it back once we get into it.

--
Zoë Peterson
Scooter Software

--
_______________________________________________
lazarus mailing list
[email protected]
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to