我有一个(尽管可能有几个)wxTimer,它们附加到 wxFrame 中的 wxGLCanvas。计时器可以触发画布的重绘。
主要问题是删除——当框架关闭时,框架及其画布自然会死掉。似乎在计时器的绘制过程中,窗口关闭了。正在进行中的绘制方法现在正在对不再存在的对象进行操作,因此会出现问题。
问题只是有时会出现,这进一步支持了这一评估。在画布的析构函数(我是子类化)中,我在删除它之前调用 timer->Stop()。这似乎没有帮助-大概是因为可能刚刚发布了计时事件?
我的问题是如何防止这种情况发生。在销毁之前停止重复计时器事件的正确方法是什么?