Don't use `windows' in X.L.Hidden, it might cause an infinite loop

Fixes #132
This commit is contained in:
Peter Jones
2017-02-07 13:37:32 -07:00
parent bdec8df4c6
commit 4f3020313d

View File

@@ -110,7 +110,7 @@ popNewestHiddenWindow = sendMessage PopNewestHiddenWindow
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
hideWindowMsg :: HiddenWindows a -> Window -> X (Maybe (HiddenWindows a)) hideWindowMsg :: HiddenWindows a -> Window -> X (Maybe (HiddenWindows a))
hideWindowMsg (HiddenWindows hidden) win = do hideWindowMsg (HiddenWindows hidden) win = do
windows (W.delete' win) modify (\s -> s { windowset = W.delete' win $ windowset s })
return . Just . HiddenWindows $ hidden ++ [win] return . Just . HiddenWindows $ hidden ++ [win]
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@@ -130,4 +130,5 @@ popOldestMsg (HiddenWindows (win:rest)) = do
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
restoreWindow :: Window -> X () restoreWindow :: Window -> X ()
restoreWindow = windows . W.insertUp restoreWindow win =
modify (\s -> s { windowset = W.insertUp win $ windowset s })