Pbuffer + SwapBuffers

Calling swapbuffers on a single buffered DIB returns true. Calling swapbuffers on a single buffered onscreen context returns true. Calling swapbuffers on a single buffered pbuffer returns false. Why is the pbuffer any different from the other contexts?

Perhaps it has no back buffer to swap too?

If I render to a DIB it doesn’t have a backbuffer and swapbuffers returns true. If I render to a single buffered hardware accelerated context swapbuffers returns true. Why does swapbuffers return false in the case of a single buffered pbuffer and not the other two single buffered contexts?

What does GetLastError return? Personally I never check SwapBuffers return values, for good or bad. I usually check glGetError once a frame and spread a lot of assert(!glGetError) in my code.

THe error code is 127 but it always seems to be 127 and my app works fine so I think that is from a previous error. I just have some error checking around swapbuffers and the single buffered pbuffer always sets it off unlike the other single buffered contexts. It isn’t really a big deal I just wanted to know if this was normal, a nvidia driver bug, a ms bug?