From: Chris S. <cd...@tw...> - 2007-07-18 00:35:17
|
The following code: module Main where import Graphics.UI.Gtk import Control.Monad (replicateM) import System.Random type Matrix = [[Int]] randomMat :: IO Matrix randomMat = replicateM 5 $ replicateM 5 $ randomRIO (0,4) main = do initGUI slotMat <- randomMat print slotMat w <- windowNew btn <- buttonNewWithLabel "Hello world" containerAdd w btn widgetShowAll w mainGUI Doesn't work for me. Instead of a button with "Hello world" on it, I get a button with a black splotch at the far left. The same thing happens with all sort of other code. There doesn't appear to be any discernable pattern to when it happens, but when it does it's consistent. In some other programs (not this one) the garbage pattern changes a bit with mouseover. This is with the darcs development tree for both Gtk2Hs and GHC. The only change I made to Gtk2Hs was to add some packages to several Makefile variables to get it to build with the base split. Platform is Linux (debian 'testing' branch), via network to Cygwin/X on a Windows system. Does anyone else see this? -- Chris Smith |
From: Dale J. <da...@al...> - 2007-07-18 02:09:57
|
Chris Smith wrote: > The following code: > <snip> > Doesn't work for me. Instead of a button with "Hello world" on it, I > get a button with a black splotch at the far left. The same thing > happens with all sort of other code. There doesn't appear to be any > discernable pattern to when it happens, but when it does it's > consistent. In some other programs (not this one) the garbage pattern > changes a bit with mouseover. > > This is with the darcs development tree for both Gtk2Hs and GHC. The > only change I made to Gtk2Hs was to add some packages to several > Makefile variables to get it to build with the base split. Platform is > Linux (debian 'testing' branch), via network to Cygwin/X on a Windows > system. > > Does anyone else see this? > Works ok for me: FreeBSD, ghc 6.6, gtk2hs-0.9.10 Dale Jordan |
From: Axel S. <A....@ke...> - 2007-07-18 12:25:40
|
Hi Chris, On Jul 18, 2007, at 1:28, Chris Smith wrote: > The following code: > > module Main where > > import Graphics.UI.Gtk > import Control.Monad (replicateM) > import System.Random > > type Matrix = [[Int]] > > randomMat :: IO Matrix > randomMat = replicateM 5 $ replicateM 5 $ randomRIO (0,4) > > main = do initGUI > > slotMat <- randomMat > print slotMat > > w <- windowNew > btn <- buttonNewWithLabel "Hello world" > > containerAdd w btn > widgetShowAll w > > mainGUI > > Doesn't work for me. Instead of a button with "Hello world" on it, I > get a button with a black splotch at the far left. The same thing > happens with all sort of other code. There doesn't appear to be any > discernable pattern to when it happens, but when it does it's > consistent. In some other programs (not this one) the garbage pattern > changes a bit with mouseover. I cannot reproduce this either. It might be that the defaults for your fonts are messed up, although that doesn't explain the spurious behaviour. Suppose, for instance, that your default fonts are extremely tiny, then that would explain the black spots. > This is with the darcs development tree for both Gtk2Hs and GHC. The > only change I made to Gtk2Hs was to add some packages to several > Makefile variables to get it to build with the base split. > Platform is > Linux (debian 'testing' branch), via network to Cygwin/X on a Windows > system. > I added the following lines to see what font the label is using: ctxt <- widgetGetPangoContext btn fd <- contextGetFontDescription ctxt fStr <- fontDescriptionToString fd putStrLn ("Using font "++fStr) This says "Sans 10" on my machine. If it does say the same on yours, then I don't really know what to do. Dale, who already replied, had a problem with fonts, but I don't thing we tracked that down either, as we're not really experts on all the font software that's involved to show a simple string. Hope this helps, Axel. |
From: Duncan C. <dun...@wo...> - 2007-07-18 19:26:59
|
On Tue, 2007-07-17 at 18:28 -0600, Chris Smith wrote: > The following code: [..] > Doesn't work for me. Instead of a button with "Hello world" on it, I > get a button with a black splotch at the far left. The same thing > happens with all sort of other code. There doesn't appear to be any > discernable pattern to when it happens, but when it does it's > consistent. In some other programs (not this one) the garbage pattern > changes a bit with mouseover. > > This is with the darcs development tree for both Gtk2Hs and GHC. The > only change I made to Gtk2Hs was to add some packages to several > Makefile variables to get it to build with the base split. Platform is > Linux (debian 'testing' branch), via network to Cygwin/X on a Windows > system. There are quite a lot of variables involved there. It could be a problem with X client libs on debian (unlikely) or some problem with Cygwin's X server. Have you tried the same code on a local display on debian? Does a similar C/Gtk+ program give the same results? It'd be useful to try those experiments to see if it really is a fault in GHC or Gtk2Hs rather than in Gtk+ or the X libs/server combo you are using. Duncan |
From: Chris S. <cd...@tw...> - 2007-07-19 21:54:37
|
Duncan Coutts <dun...@wo...> wrote: > There are quite a lot of variables involved there. It could be a problem > with X client libs on debian (unlikely) or some problem with Cygwin's X > server. Have you tried the same code on a local display on debian? Does > a similar C/Gtk+ program give the same results? I have not tried the code with a local display, because there is no X server installed on the box, nor a monitor attached to it. It turns out that I'll be quite busy this weekend with some programming contest :) but I'll look into it later. I've tried several C gtk+ programs and been unable to reproduce, but it only happens with some programs, in no predictable pattern, with Gtk2Hs as well; so I can't promise that there's no C program that would act that way. -- Chris Smith |