当一个 wxHaskell GUI 启动并关闭,然后另一个 wxHaskell GUI 再次启动时,由于堆栈溢出,应用程序会出现分段错误。
简单演示源码:
module Main where
import Graphics.UI.WX
main = do
start $ frame []
start $ frame []
看来这是一个旧错误,请参阅http://permalink.gmane.org/gmane.comp.lang.haskell.wxhaskell.general/789。这条消息有一个指向 wxHaskell 的 SourceForge 存储库中问题的链接,并且最近的一条评论提到了一个没有错误的 wxHaskell 版本(似乎是 wxWidgets 2.9 的开发分支)。
我正在使用带有 wxWidgets 2.8 的 Ubuntu 12.04,所以我必须使用 wxHaskell 0.13。我试图通过查看所谓的工作开发版本的更改日志来查找有关此错误的任何信息,但找不到任何信息。
可以为 wxHaskell 0.13 修复这种错误行为,或者至少可以做出某种解决方法吗?重写应用程序以使用一个持久的 GUI 似乎不必要的复杂。