[Fieldtrip] Re: [HOpenGL] noticing freeglut vs not

Conal Elliott conal at conal.net
Thu Dec 4 13:19:55 EST 2008


Thanks very much Claus.  Sound fixable indeed, with an exception handler.

Would someone with convenient access to a non-freeglut system be up for
trying out Claus's suggestion???

   - Conal

On Thu, Dec 4, 2008 at 9:52 AM, Claus Reinke <claus.reinke at talk21.com>wrote:

> Is this still an open issue in FieldTrip? If you look at the online
> versions of the files Sven mentioned
>
>   http://darcs.haskell.org/packages/GLUT/include/HsGLUTExt.h
>   http://darcs.haskell.org/packages/GLUT/Graphics/UI/GLUT/Extensions.hs
>
> you can see how the dynamic lookup of functions that are only available in
> some extensions is handled. Looking at
>
>   http://darcs.haskell.org/packages/GLUT/Graphics/UI/GLUT/Begin.hs
>
> it does seem as if constants and StateVars are not directly protected like
> this, but 'actionOnWindowClose' calls 'glutSetOption', which you can see in
>   http://darcs.haskell.org/packages/GLUT/Graphics/UI/GLUT/QueryUtils.hs
>
> as just such a dynamic lookup. In case this isn't clear: your code can
> simply catch the exception thrown when that dynamic lookup fails,
> letting the exception handler pursue an alternative path (since your ticket
> recommends commenting out that line, the handler could perhaps just do
> nothing in your case, or issue a warning about missing freeglut?).
>
> No change to the GLUT package should be needed, I think.
> Claus
>
>
>  Thanks for the pointers.
>>
>> I'm looking for some way to program my library so that a graceful exit is
>> made where possible and still runs, though exits less gracefully with
>> non-free glut.  I'd be happy with either a new API entry for that case or
>> a
>> change to the meaning of MainLoopReturns.
>>
>>  - Conal
>>
>> On Thu, Nov 20, 2008 at 5:33 AM, Sven Panne <sven.panne at aedion.de> wrote:
>>
>>  On Thursday 13 November 2008 03:24:29 Conal Elliott wrote:
>>> > I'm looking for a way to use MainLoopReturns when freeglut is present
>>> and
>>> > not when it isn't.  I could use some help.  I figure that the
>>> > implementation has some way to generate that error message, and maybe
>>> we
>>> > could similarly just do a standard ungraceful exit if freeglut is
>>> missing.
>>> >
>>> > The great thing about MainLoopReturns is that it plays nicely with
>>> ghci.
>>> > Closing a window returns to ghci for more fun.
>>> >
>>> > Some more info at http://trac.haskell.org/FieldTrip/ticket/8 .
>>> >
>>> > Any ideas?
>>>
>>> Currently the GLUT binding uses dynamic lookup to get freeglut-only API
>>> entries (see /GLUT/Graphics/UI/GLUT/Extensions.hs, cbits/HsGLUT.c,
>>> include/HsGLUTExt.h) and uses throwIfNull to test for non-existent API
>>> entries. Therefore, e.g. actionOnWindowClose should throw an exception
>>> when
>>> "classic" GLUT is used. I am not sure if I understand your request: Do
>>> you
>>> want a new API entry for the GLUT binding or a different behavior of the
>>> current entries?
>>>
>>> Cheers,
>>>   S.
>>>
>>>
>>>
>>
>
>
> --------------------------------------------------------------------------------
>
>
>  _______________________________________________
>> HOpenGL mailing list
>> HOpenGL at haskell.org
>> http://www.haskell.org/mailman/listinfo/hopengl
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/fieldtrip/attachments/20081204/277e35c6/attachment.htm


More information about the FieldTrip mailing list