Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dialog Disappearance



On 12/17/00 3:06 PM, Bila Kiss wrote:

> on 2000.12.17 12.56, Roland Gustafsson at email@hidden wrote:
>
>> On 12/17/00 12:39 PM, Erik Rufelt wrote:
>>
>>> In all my fullscreen OpenGL apps dialogs sometimes doesn't show up, it goes
>>> for both ISpConfigure() dialog and other dialog windows... has this got
>>> something to do with double buffering and it ending up in the back buffer or
>>> something?
>>> How can I fix this?
>>
>> Not sure this is a 100% solution, but it works for me:
>>
>> Track aglSwapBuffers with a global Boolean
>>
>> Boolean gSwapBufferTracker=0;
>>
>> ...
>>
>> draw page
>>
>> aglSwapBuffers(context);
>> gSwapBufferTracker ^= 1;
>>
>> ...
>>
>> When you want to display a dialog, simply check gSwapBufferTracker, if 1,
>> you'll need to aglSwapBuffers to return to the original front buffer.
>
> Hey, this is *just* like a bug that I've described and submitted to DTS
> almost two months ago (although in my case the problem involves drawing to
> the GL_FRONT buffer, not dialogs, but I figure that the cause of the problem
> is likely the same). The last that I had heard, they had been able to
> reproduce it but were having trouble tracking down the cause.
>
> (If anyone from Apple is interested, the DTS tag is : 1380845)
>
> Have you (Roland) tested this on non-ATI contexts (eg Voodoo)? I see
> slightly different behaviours there.

I have tried it with a Voodoo 3 3000 running the latest drivers and it does
*not* work... so it seems the safest way to display a dialog is to
disconnect the drawable ie: aglSetDrawable(context,NULL) display the dialog
and then reconnect the drawable. I have not tried this but it would probably
work. Disconnecting the drawable will probably cause screen glitches but at
least you'll be able to see the dialog box.

-Roland


References: 
 >Re: Dialog Disappearance (From: Béla Kiss <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.