From a7cbcbd85bc6153b87318b78c64a28488350001a Mon Sep 17 00:00:00 2001 From: David Roundy Date: Fri, 12 Oct 2007 03:33:05 +0200 Subject: catch exceptions when calling user-written code. This is a minimal approach that only catches error in actual user-written code. darcs-hash:20071012013305-72aca-ab7d36fa77fb3c4fda4abbc7421ba7ba13d9b21a.gz --- Operations.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Operations.hs') diff --git a/Operations.hs b/Operations.hs index 03aef7c..d153d43 100644 --- a/Operations.hs +++ b/Operations.hs @@ -66,7 +66,7 @@ manage w = whenX (fmap not $ isClient w) $ withDisplay $ \d -> do n <- fmap (fromMaybe "") $ io $ fetchName d w (ClassHint rn rc) <- io $ getClassHint d w - g <- manageHook w n rn rc + g <- manageHook w n rn rc `catchX` return id windows (g . f) -- | unmanage. A window no longer exists, remove it from the window @@ -169,7 +169,7 @@ windows f = do whenJust (W.peek ws) $ \w -> io $ setWindowBorder d w fbc setTopFocus - logHook + logHook `catchX` return () -- io performGC -- really helps, but seems to trigger GC bugs? -- hide every window that was potentially visible before, but is not -- cgit v1.2.3