Hi, I've discovered that taskBarIconDelete crashes when you use it twice. I first encountered this on Windows when I used it in the "on close" attribute for removing the icon when I close the program. I then tried to reproduce this on Linux and it first seemed to be a Windows-only problem. But when I removed the "propagateEvent" on Linux I couldn't close my program the first time, only the icon was deleted. The second time I tried to close the program it segfaulted. I first thought it correlated with the use of evtHandlerOnTaskBarIconEvent, because removing this seemed to fix everything. (maybe this is an uncorrelated, second, bug?) But then I thought by myself: It doesn't make sense that the program crashes on Linux on the second close attempt. So wrote a minimal example to try out what happens when I delete the taskbar-icon more than one time. And it segfaulted, like I expected. On both, Linux and Windows. When I delete in once, I can close my application afterwards successfully. When I delete it twice, it segfaults.
Here are the environments I tested my program in: * Windows XP using GHC 6.10.3 with wx-0.11.1.2 with wxWidgets-2.8.10 * Ubuntu 9.04 using GHC 6.10.3 with wx-0.11.1.2 with wxWidgets-2.8.9.1 This is the minimal example I've created to reproduce the bug, I also attached it along with an icon: module Main where import Graphics.UI.WXCore import Graphics.UI.WX main :: IO () main = start example example :: IO () example = do icon <- iconCreateFromFile "example.ico" (sz 16 16) tbicon <- taskBarIconCreate f <- frame [] b <- button f [text := "delete taskbar icon", on command := taskBarIconDelete tbicon] taskBarIconSetIcon tbicon icon "example" set f [layout := container f $ row 0 [widget b]]
<<inline: example.ico>>
module Main where import Graphics.UI.WXCore import Graphics.UI.WX main :: IO () main = start example example :: IO () example = do icon <- iconCreateFromFile "example.ico" (sz 16 16) tbicon <- taskBarIconCreate f <- frame [] b <- button f [text := "delete taskbar icon", on command := taskBarIconDelete tbicon] taskBarIconSetIcon tbicon icon "example" set f [layout := container f $ row 0 [widget b]]
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------
_______________________________________________ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users