| Summary: | SDL_WINDOW_FULLSCREEN window disappears upon first call to SDL_PumpEvents, workaround provided | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Elmar <elmar> |
| Component: | events | Assignee: | Ryan C. Gordon <icculus> |
| Status: | ASSIGNED --- | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | 2.0.9 | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
|
Description
Elmar
2018-10-26 07:35:57 UTC
Ryan, can you look to see if this is a regression in SDL 2.0.9? Thanks! (In reply to Sam Lantinga from comment #1) > Ryan, can you look to see if this is a regression in SDL 2.0.9? > > Thanks! I initially had the problem with SDL 2.0.8, and then updated to the latest 2.0.9 devsnapshot to check that it's still there before filing this report. Checking tonight. —ryan. This isn’t reproducing for me; is your source code available somewhere that I can see (even if it’s just the piece that creates the window and pumps events)? Or even a very small example C program that just creates a window and triggers this bug? --ryan. I’m Getting a small example program will be many hours of work. But since you guys are doing such a great job, I spent the first hour to get closer to the source of the problem.
I found the following:
- Create Window:
vga_window=SDL_CreateWindow("MyTitle",0,0,1280,1024,0x2007);
- Create OpenGL context with shader initialization etc.
- SDL_PumpEvents();
- for (i=0;i<10;i++) SDL_GL_SwapWindow(vga_window);
- SDL_PumpEvents();
The above recipe works fine. BUT if I delete the first SDL_PumpEvents, the window disappears.
Conclusion: I have to call SDL_PumpEvents *before* the first call to SDL_GL_SwapWindow.
This is reproducible on three different Linux PCs, two with NVIDIA proprietary drivers, one with AMD fglrx driver.
Does this help?
Best regards,
Elmar
|