我的 AudioUnit 插件崩溃(在 Logic 9 和 Logic X - Mac OS X 10.8.4 下运行。在 AU Lab 中无法重现)
我的 AudioUnit 插件在单独的线程中执行绘图。当插件 GUI 关闭时,AU 插件会收到对以下内容的调用: NSView removeFromSuperviewWithoutNeedingDisplay 问题是,从 OS X 10.8.4 开始,在使用此函数调用 AU 时,我执行绘图的单独线程是仍在运行。但是,此时有些东西已经被破坏了,所以我在尝试绘制时收到了一个 openGL 错误:帧缓冲区操作无效(1286)。这当然会导致下一个插件 GUI 绘制中的图形损坏,并在几次 GUI 打开和关闭尝试后导致崩溃。
问题是: 1. 有没有在NSView removeFromSuperviewWithoutNeedingDisplay 之前调用的函数可以实现?这样,我可以在 Logic 破坏视图之前停止单独线程中的绘图。2、如果没有办法,您还有什么建议吗?也许在每次尝试绘制时检查一些东西?
谢谢!C。