summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/rcore.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/rcore.c b/src/rcore.c
index 2d68606d..27b1a1f3 100644
--- a/src/rcore.c
+++ b/src/rcore.c
@@ -4091,8 +4091,18 @@ static bool InitGraphicsDevice(int width, int height)
if (CORE.Window.fullscreen)
{
// remember center for switchinging from fullscreen to window
- CORE.Window.position.x = CORE.Window.display.width/2 - CORE.Window.screen.width/2;
- CORE.Window.position.y = CORE.Window.display.height/2 - CORE.Window.screen.height/2;
+ if ((CORE.Window.screen.height == CORE.Window.display.height) && (CORE.Window.screen.width == CORE.Window.display.width))
+ {
+ // If screen width/height equal to the dislpay, we can't calclulate the window pos for toggling fullscreened/windowed.
+ // Toggling fullscreened/windowed with pos(0, 0) can cause problems in some platforms, such as X11.
+ CORE.Window.position.x = CORE.Window.display.width/4;
+ CORE.Window.position.y = CORE.Window.display.height/4;
+ }
+ else
+ {
+ CORE.Window.position.x = CORE.Window.display.width/2 - CORE.Window.screen.width/2;
+ CORE.Window.position.y = CORE.Window.display.height/2 - CORE.Window.screen.height/2;
+ }
if (CORE.Window.position.x < 0) CORE.Window.position.x = 0;
if (CORE.Window.position.y < 0) CORE.Window.position.y = 0;