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 [email protected] https://lists.sourceforge.net/lists/listinfo/wxhaskell-users
