Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!emory!wuarchive!udel!rochester!pt.cs.cmu.edu!o.gp.cs.cmu.edu!andrew.cmu.edu!am42+ From: am42+@andrew.cmu.edu (Alexander Paul Morris) Newsgroups: comp.lang.pascal Subject: Re: Displaying EGA/VGA graphics. (Screen Captures) Message-ID: Date: 16 Mar 91 19:03:04 GMT References: <3977@ac.dal.ca> <1991Mar13.041954.26340@ux1.cso.uiuc.edu>, <1991Mar13.071250.11258@ux1.cso.uiuc.edu> Organization: Carnegie Mellon, Pittsburgh, PA Lines: 14 In-Reply-To: <1991Mar13.071250.11258@ux1.cso.uiuc.edu> The problem in the code (the BUG, as it is called) is very simple to correct. The author (I believe Alan Mead) overlooked, since he was using a linked list, to declare the image as a pointer when he called it with getimage/putimage. To correct everything, simply replace in the lines that say GetImage and PutImage the parameter l^.Image to l^.Image^ . Note that those are the ONLY places where anything must be changed. All those weird lines will dissapear. Actually, I'm surprised the whole program didn't crash! Seems like it would overwrite all memory past the location in mem where that variable is stored, but perhaps that was just other TP vars or something that weren't important at the time. Hope this helps. Alexander Morris "People die, things change... Carnegie Mellon It's sad."