Cocoa 当子视图被销毁时,在NSView RemovefromSuperView中前面调用了什么,而不需要显示?
我的AudioUnit插件发生故障(在Logic 9和Logic X下运行-Mac OS X 10.8.4。不在AU Lab中复制) 我的AudioUnit插件在单独的线程中执行绘制。 当插件GUI关闭时,AU插件接收到以下调用: NSView从SuperView中移除,无需显示 问题是,启动OS X 10.8.4时,使用此函数调用AU时, 执行绘制的单独线程仍在运行。 但是,此时有些东西已经被破坏了,因此我在尝试绘制时收到一个openGL错误: 帧缓冲区操作无效(1286)。 这当然会导致下一个插件GUI绘图中的图形损坏,并且在多次尝试打开和关闭GUI后崩溃 问题是: 1.是否有一个函数可以在NSView从SuperView移除之前调用,而不需要显示? 这样,在逻辑破坏视图之前,我可以在单独的线程中停止绘图。 2.如果没有办法,你还有别的建议吗?也许每次画画都要检查一些东西 谢谢!Cocoa 当子视图被销毁时,在NSView RemovefromSuperView中前面调用了什么,而不需要显示?,cocoa,nsview,Cocoa,Nsview,我的AudioUnit插件发生故障(在Logic 9和Logic X下运行-Mac OS X 10.8.4。不在AU Lab中复制) 我的AudioUnit插件在单独的线程中执行绘制。 当插件GUI关闭时,AU插件接收到以下调用: NSView从SuperView中移除,无需显示 问题是,启动OS X 10.8.4时,使用此函数调用AU时, 执行绘制的单独线程仍在运行。 但是,此时有些东西已经被破坏了,因此我在尝试绘制时收到一个openGL错误: 帧缓冲区操作无效(1286)。 这当然会导致下一
C.不需要显示的RemoveFromSuperView方法可能不是关闭子视图UI的最佳方法 有两种选择: