Fix message bus memory leak

This commit is contained in:
Matthias Schiffer 2011-08-12 02:11:09 +02:00
parent 8dab9ed128
commit 180285af85
3 changed files with 5 additions and 4 deletions

View file

@ -96,8 +96,7 @@ deriving instance Show WidgetState
createWidgetState :: Phi -> Display -> Widget -> IO WidgetState
createWidgetState phi disp (Widget w) = do
phi' <- dupPhi phi
priv <- initWidget w phi' disp
priv <- initWidget w phi disp
return WidgetState { stateWidget = w
, stateX = 0
, stateY = 0

View file

@ -59,7 +59,8 @@ instance WidgetClass Systray where
type WidgetData Systray = SystrayState
initWidget (Systray) phi dispvar = do
forkIO $ systrayRunner phi dispvar
phi' <- dupPhi phi
forkIO $ systrayRunner phi' dispvar
lastReset <- newIORef 0
return $ SystrayState phi (head . getScreens $ dispvar) 0 lastReset []

View file

@ -165,7 +165,8 @@ instance WidgetClass Taskbar where
type WidgetData Taskbar = TaskbarState
initWidget (Taskbar _) phi dispvar = do
forkIO $ taskbarRunner phi dispvar
phi' <- dupPhi phi
forkIO $ taskbarRunner phi' dispvar
return $ TaskbarState 0 0 (-1) [] M.empty M.empty M.empty M.empty