From: Damian Yerrick Newsgroups: comp.os.msdos.djgpp Subject: Re: Allegro GUI query Organization: Pin Eight Software http://pineight.8m.com/ Message-ID: References: <39c41012_4 AT spamkiller DOT newsfeeds DOT com> <969175865 DOT 827425 AT shelley DOT paradise DOT net DOT nz> X-Newsreader: Forte Agent 1.7/32.534 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 34 X-Trace: /bJ8XSIibruExd0zOjcc8MWwggSqa47IxOpGL+hjOMUkqJBJ5UEASgjwhJt9DRDKO9GCkejFpobE!IcCCxZNEEGSorCl2XeNkmVAMYWc2UMHZQpb51a/74AaGnoDdP8O0qn22B6cKrrbrSi1U0L6hw4cL!bRfZoA== X-Complaints-To: abuse AT gte DOT net X-Abuse-Info: Please be sure to forward a copy of ALL headers X-Abuse-Info: Otherwise we will be unable to process your complaint properly NNTP-Posting-Date: Sun, 17 Sep 2000 19:47:36 GMT Distribution: world Date: Sun, 17 Sep 2000 19:47:36 GMT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On Sun, 17 Sep 2000 19:33:27 +1200, "Edmund Horner" wrote: >Yep, the problem is a _pain_, but it's obvious. > >In your DIALOG definition table, you copy the uninitialised value of Bmp >into the d_icon_proc() record. It's only later that Bmp gets set to what >you want. d_icon_proc() is still referring to the junk value it started out >with. > >Solution: Before you call do_dialog(), you need to have a line like (in this >case): > >the_dialog[5].dp = Bmp; > >I know how annoying it is, trust me! But there's not really much you can do >about it without radically changing your program. Except making the dialog a local variable that's initialized _after_ the bitmap is loaded: bmp = load_bitmap("foo.bmp", pal); { DIALOG dlg[] = { ... }; hit_button = do_dialog(dlg, 1); } --