mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-14 10:05:44 -04:00
Revert "Don't unset fullscreen before going into fullscreen"
This reverts commit 004b1b95d16f10b1072b3c780aaaf967cce193a5.
This commit is contained in:
parent
004b1b95d1
commit
4fa5c10046
18
src/Window.c
18
src/Window.c
@ -2258,6 +2258,7 @@ void Window_FreeFramebuffer(Bitmap* bmp) {
|
|||||||
#include <AGL/agl.h>
|
#include <AGL/agl.h>
|
||||||
|
|
||||||
static AGLContext ctx_handle;
|
static AGLContext ctx_handle;
|
||||||
|
static bool ctx_firstFullscreen;
|
||||||
static int ctx_windowWidth, ctx_windowHeight;
|
static int ctx_windowWidth, ctx_windowHeight;
|
||||||
|
|
||||||
static void GLContext_Check(int code, const char* place) {
|
static void GLContext_Check(int code, const char* place) {
|
||||||
@ -2322,6 +2323,16 @@ static void GLContext_SetFullscreen(void) {
|
|||||||
GLContext_Check(code, "aglSetFullScreen");
|
GLContext_Check(code, "aglSetFullScreen");
|
||||||
GLContext_MakeCurrent();
|
GLContext_MakeCurrent();
|
||||||
|
|
||||||
|
/* This is a weird hack to workaround a bug where the first time a context */
|
||||||
|
/* is made fullscreen, we just end up with a blank screen. So we undo it as fullscreen */
|
||||||
|
/* and redo it as fullscreen. */
|
||||||
|
if (!ctx_firstFullscreen) {
|
||||||
|
ctx_firstFullscreen = true;
|
||||||
|
GLContext_UnsetFullscreen();
|
||||||
|
GLContext_SetFullscreen();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
win_fullscreen = true;
|
win_fullscreen = true;
|
||||||
ctx_windowWidth = Window_Width;
|
ctx_windowWidth = Window_Width;
|
||||||
ctx_windowHeight = Window_Height;
|
ctx_windowHeight = Window_Height;
|
||||||
@ -2362,10 +2373,15 @@ void GLContext_Init(struct GraphicsMode* mode) {
|
|||||||
GLContext_Check(0, "Destroying pixel format");
|
GLContext_Check(0, "Destroying pixel format");
|
||||||
|
|
||||||
GLContext_SetDrawable();
|
GLContext_SetDrawable();
|
||||||
|
GLContext_Update();
|
||||||
GLContext_MakeCurrent();
|
GLContext_MakeCurrent();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLContext_Update(void) { aglUpdateContext(ctx_handle); }
|
void GLContext_Update(void) {
|
||||||
|
if (win_fullscreen) return;
|
||||||
|
GLContext_SetDrawable();
|
||||||
|
aglUpdateContext(ctx_handle);
|
||||||
|
}
|
||||||
|
|
||||||
void GLContext_Free(void) {
|
void GLContext_Free(void) {
|
||||||
if (!ctx_handle) return;
|
if (!ctx_handle) return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user