Thanks Chris,  changes now merged and submitted to svn/trunk and OSG-2.8 branch.

On Wed, May 6, 2009 at 10:04 AM, Chris Denham <[email protected]> wrote:
> Please find attached, my small change to GraphicsWindowWin32 (based on
> osg 2.8.0).
> It gets rid of redundant warnings about SwapBuffers failing for
> Windows platform when updating a minimized or off screen windows.
> Chris.
>
> 2009/5/5 Tomlinson, Gordon <[email protected]>:
>> I have seen this as well .
>>
>> I say 'THE WORD' :),
>>
>>
>> a fix for this would be welcome
>>
>>
>> Gordon
>> Product Manager 3d
>> __________________________________________________________
>> Gordon Tomlinson
>> Email  : gtomlinson @ overwatch.textron.com
>> __________________________________________________________
>>
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of Chris
>> Denham
>> Sent: Tuesday, May 05, 2009 1:00 PM
>> To: [email protected]
>> Subject: Re: [osg-users] swapBuffers warning when window minimized
>>
>> Bit of a late reply to this one, but just arrived at the same problem.
>> For me, on Windows, I also get a slew of these warnings when I move the
>> window off screen.
>> So, might be a bit fiddly to try and prevent frame update in all
>> situations that SwapBuffers retuns false.
>> I wondered if we could address this issue by only reporting the error if
>> GetLastError is also non zero. Works for me!
>> The value returned by GetLastError is zero when SwapBuffers is called
>> for a minimized or off screen window, so we could just add a check for
>> this.
>> Just say the word, and I'll post my modified GraphicsWindowWin32.cpp to
>> the submissions list. ;-) Cheers.
>> Chris.
>>
>> e.g.
>>
>> //------------- OSG- 2..8 ----------
>> void GraphicsWindowWin32::swapBuffersImplementation()
>> {
>>     if (!_realized) return;
>>     if (!::SwapBuffers(_hdc))
>>    {
>>
>> reportErrorForScreen("GraphicsWindowWin32::swapBuffersImplementation()
>>  - Unable to swap display buffers", _traits->screenNum,
>> ::GetLastError());
>>    }
>> }
>> //------------- Modification to remove redundant warnings ----------
>> void GraphicsWindowWin32::swapBuffersImplementation()
>> {
>>     if (!_realized) return;
>>     if (!::SwapBuffers(_hdc) && ::GetLastError() != 0)
>>    {
>>
>> reportErrorForScreen("GraphicsWindowWin32::swapBuffersImplementation()
>>  - Unable to swap display buffers", _traits->screenNum,
>> ::GetLastError());
>>    }
>> }
>>
>>
>>> Robert Osfield
>>> Tue, 01 Jul 2008 11:05:14 -0700
>>> Hi John,
>>>
>>> I have just checked on linux box and it works fine, so I presume it's
>>> a windowing specific issue.  What windowing setup are you using?
>>>
>>> If swap buffers is failing then it suggest the best thing that could
>>> be done would be to detect the window iconise event and stop the frame
>>> loop from executing till the window opens up again.  This could
>>> possible be something put into osgViewer itself, although there is
>>> probably multiple ways one could handle it - for instance keep the
>>> frame loop running but stop the rendering dispatch the problem
>>> windows.
>>
>>> Robert.
>>
>>> On Tue, Jul 1, 2008 at 5:36 PM, Argentieri, John-P63223
>>> <[EMAIL PROTECTED]> wrote:
>>> > All,
>>> >
>>> > When an osg application is minimized, osg complains about
>> swapbuffers
>>> > failing, on every frame. This output can be overwhelming. Can we fix
>>
>>> > this
>>> > somehow? Is there some kind of verbosity level? Is that even a word?
>>> >
>>> > John
>>
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
>> g
>>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to