Fix message bus memory leak
This commit is contained in:
parent
8dab9ed128
commit
180285af85
3 changed files with 5 additions and 4 deletions
|
@ -96,8 +96,7 @@ deriving instance Show WidgetState
|
||||||
|
|
||||||
createWidgetState :: Phi -> Display -> Widget -> IO WidgetState
|
createWidgetState :: Phi -> Display -> Widget -> IO WidgetState
|
||||||
createWidgetState phi disp (Widget w) = do
|
createWidgetState phi disp (Widget w) = do
|
||||||
phi' <- dupPhi phi
|
priv <- initWidget w phi disp
|
||||||
priv <- initWidget w phi' disp
|
|
||||||
return WidgetState { stateWidget = w
|
return WidgetState { stateWidget = w
|
||||||
, stateX = 0
|
, stateX = 0
|
||||||
, stateY = 0
|
, stateY = 0
|
||||||
|
|
|
@ -59,7 +59,8 @@ instance WidgetClass Systray where
|
||||||
type WidgetData Systray = SystrayState
|
type WidgetData Systray = SystrayState
|
||||||
|
|
||||||
initWidget (Systray) phi dispvar = do
|
initWidget (Systray) phi dispvar = do
|
||||||
forkIO $ systrayRunner phi dispvar
|
phi' <- dupPhi phi
|
||||||
|
forkIO $ systrayRunner phi' dispvar
|
||||||
|
|
||||||
lastReset <- newIORef 0
|
lastReset <- newIORef 0
|
||||||
return $ SystrayState phi (head . getScreens $ dispvar) 0 lastReset []
|
return $ SystrayState phi (head . getScreens $ dispvar) 0 lastReset []
|
||||||
|
|
|
@ -165,7 +165,8 @@ instance WidgetClass Taskbar where
|
||||||
type WidgetData Taskbar = TaskbarState
|
type WidgetData Taskbar = TaskbarState
|
||||||
|
|
||||||
initWidget (Taskbar _) phi dispvar = do
|
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
|
return $ TaskbarState 0 0 (-1) [] M.empty M.empty M.empty M.empty
|
||||||
|
|
||||||
|
|
Reference in a new issue