comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey Creem" <jeff@thecreems.com>
Subject: Re: X11 binding with FSF version of gnat
Date: Fri, 07 Feb 2003 11:15:52 GMT
Date: 2003-02-07T11:15:52+00:00	[thread overview]
Message-ID: <IzM0a.18657$SD6.1150@sccrnsc03> (raw)
In-Reply-To: 060220032349197450%hopperj@macconnect.com

I have seen the same problem under Solaris as well. Perhaps you should
submit a but report to ACT. (Of course I should have too!).. I still
occasionally think about working on these bindings but allof my new never
finished personal projects that I start for fun are in GtkAda these days.


"jim hopper" <hopperj@macconnect.com> wrote in message
news:060220032349197450%hopperj@macconnect.com...
> From: james hopper <hopperj@macconnect.com>
>
> I am having a bit of a problem with x11 bindings when compiled for osx
> (the intermetrics bindings updated for linux). I was hoping someone
> might have worked with the bindings on os x or have some idea whats
> going on.  This is using the os x version of gnat, so i don't know if
> its a problem with our version of gnat or something that is specif to
> gnat 5x.
>
> problem is this:
>
> there is a type in x-xlib.ads that looks like this:
>
>     type XEvent (Event_Type: X.signed_int := X.LASTEvent + 1) is record
> -- Xlib.h:934
>         serial       : X.unsigned_long;                     --
> Xlib.h:902
>         send_event   : Bool;                                --
> Xlib.h:903
>         display      : XDisplay_access;                     --
> Xlib.h:904
>    case Event_Type is
>        when X.KeyPress | X.KeyRelease =>
>       xkey     : XKeyEvent;                       -- Xlib.h:937
>        when X.ButtonPress | X.ButtonRelease =>
>       xbutton  : XButtonEvent;                    -- Xlib.h:938
> ...
>
> its used in test sample called basicwin.adb where the type is
> instantiated as
>
>     Report             :          aliased X.Xlib.XEvent;
>
> (note its using the default for the descriminant
>
> ok now its used like this:
>
>     loop
>         X.Xlib.XNextEvent(Display, Report'access);
>    ada.text_io.put_line("Here" & X.signed_int'image(Report.Event_Type) &
>       Integer'image(Report'size/8));
>         case  (Report.Event_Type) is
>             when X.Expose =>
>       ada.text_io.put_line("Expose");
>       ...
>             when X.ConfigureNotify =>
>        ada.text_io.put_line("ConfigureNotify");
>       ada.text_io.put_line("width = " &
> integer'image(integer(Report.Xconfigure.Width)));
>       ada.text_io.put_line("height = " &
> X.signed_int'image(Report.Xconfigure.Height));
>       ...
>    when ...
>
> i thought at first the problem was it wasnt being allocated because
> when you use the debugger and stop right after the xnextevent  and do
> "print report"  it shows report as a null record, however if i do
>
> x/20 report'address
>
> i can see that the data is all there and looks correct.
>
> when i try to access the height and width field in x.configurenotify
> version of the variant record, the print statements above it gets a
> constraint error.  if i change x-xlib.ads to use x.xconfignotify as the
> default descriminant then the height and width are fine, but then
> expose variant gets a constraint error when it tries to access internal
> fields of the expose variant.
>
> This looks like either a compiler problem, or something thats changed
> from 3.13 (which i used the bindings for before) that doesnt like the
> variant being changed behind the compilers back.  oh yes and i have to
> use -gnatp or it always blows up when i try to access it with
> constraint error in the descriminant.
>
> Any information on this would help.
>
> thanks jim





  reply	other threads:[~2003-02-07 11:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-07  4:49 X11 binding with FSF version of gnat jim hopper
2003-02-07 11:15 ` Jeffrey Creem [this message]
2003-02-07 16:50 ` Jean-Claude Mahieux
2003-02-07 17:02   ` David Botton
2003-02-07 17:06   ` Larry Kilgallen
2003-02-07 18:19     ` Jean-Claude Mahieux
2003-02-08  0:21   ` jim hopper
2003-02-10 10:06     ` Jean-Claude Mahieux
2003-02-11  0:12       ` jim hopper
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox