]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/gui/mainwin.cpp
Fixed fullscreen icon state when starting in full screen mode.
[virtualjaguar] / src / gui / mainwin.cpp
index 1dbafa0a3975a3324c35604b2cbe13e063e31c57..5efca0a5eb587c3bd54dc7af4b13dd2f8be9ad0d 100644 (file)
@@ -24,7 +24,7 @@
 // - Remove SDL dependencies (sound, mainly) from Jaguar core lib
 // - Fix inconsistency with trailing slashes in paths (eeproms needs one, software doesn't)
 //
-// SFDX CODE: 9XF9TUHFM2359
+// SFDX CODE: S1E9T8H5M23YS
 
 // Uncomment this for debugging...
 //#define DEBUG
@@ -382,6 +382,7 @@ void MainWin::SyncUI(void)
        palAct->setChecked(!vjs.hardwareTypeNTSC);
        powerAct->setIcon(vjs.hardwareTypeNTSC ? powerRed : powerGreen);
 
+       fullScreenAct->setChecked(vjs.fullscreen);
        fullScreen = vjs.fullscreen;
        SetFullScreen(fullScreen);
 
@@ -875,8 +876,14 @@ void MainWin::SetFullScreen(bool state/*= true*/)
 //             mainWinSize = size();
                menuBar()->hide();
                statusBar()->hide();
+               x1Act->setDisabled(true);
+               x2Act->setDisabled(true);
+               x3Act->setDisabled(true);
                showFullScreen();
-               QRect r = QApplication::desktop()->availableGeometry();
+               // This is needed because the fullscreen may happen on a different
+               // screen than screen 0:
+               int screenNum = QApplication::desktop()->screenNumber(videoWidget);
+               QRect r = QApplication::desktop()->availableGeometry(screenNum);
 //             double targetWidth = 320.0, targetHeight = (vjs.hardwareTypeNTSC ? 240.0 : 256.0);
                double targetWidth = (double)VIRTUAL_SCREEN_WIDTH,
                        targetHeight = (double)(vjs.hardwareTypeNTSC ? VIRTUAL_SCREEN_HEIGHT_NTSC : VIRTUAL_SCREEN_HEIGHT_PAL);
@@ -897,6 +904,9 @@ void MainWin::SetFullScreen(bool state/*= true*/)
                // Reset the video widget to windowed mode
                videoWidget->offset = 0;
                videoWidget->fullscreen = false;
+               x1Act->setDisabled(false);
+               x2Act->setDisabled(false);
+               x3Act->setDisabled(false);
                menuBar()->show();
                statusBar()->show();
                showNormal();