Windows 7 x64 + fullscreen OpenGL + modal dialogs

Discussion created by n_lelong on Mar 16, 2010
Latest reply on Apr 16, 2010 by danielmv
Modal dialogs are not showing while running a fullscreen OpenGL application

Hello, this is a follow-up of an issue I'm unable to solve, I've been asking around on OpenGL.org without much success.

Since I switched to Win7 as a development environment, and a possible target platform for my applications, I noticed a regression in their behaviour.

Whenever I have a fullscreen window containing a fullscreen OpenGL context, the applications have problems displaying modal dialog boxes (such as message boxes, file open dialog, etc.)

The window is just created with WS_POPUP style. The GL context is nothing fancy. And everything is fine with Windows XP.

The problem under Windows 7 is that the modal dialog boxes are invisible at their opening (maybe their appear behind the full screen window). You have to Alt-Tab the application to have the dialogs appear.

Actually, on my AMD Radeon HD 5770 + Catalyst 10.2, you have to do a Ctrl-Atl-Suppr to have the display working again. Before that, it's all frozen as long as the modal dialog is open.

This is a major problem as the application appears to be frozen, while it in fact waits for user input.

Did anyone encounter this behaviour ? Does anyone know a workaround that works on AMD boards ?

On NVidia, the problem also happens, but a workaround is to ask 'wglChoosePixelFormatARB' to select a pixel format with the 'WGL_SWAP_COPY_ARB' flag.

I've quickly made up a sample test application ; its source code can be found at http://pastebin.com/K4v2NNDs. A simple MSVC8 project can be found here.

Any help will be greatly appreciated as I have to deliver an application for a client running on Win7, and it's becoming a show-stopper !