]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/gui/mainwin.cpp
Added switch to disable untuned tank circuit, for slower computers.
[virtualjaguar] / src / gui / mainwin.cpp
index af1dab100837dae93376b6338a0c671ccb288e2a..ba0b21ebe09bc94f7e5db84ba6cc2a1ebe760a3b 100644 (file)
@@ -1,9 +1,9 @@
 //
 // mainwin.cpp - Qt-based GUI for Virtual Jaguar: Main Application Window
-// by James L. Hammons
+// by James Hammons
 // (C) 2009 Underground Software
 //
-// JLH = James L. Hammons <jlhamm@acm.org>
+// JLH = James Hammons <jlhamm@acm.org>
 //
 // Who  When        What
 // ---  ----------  -------------------------------------------------------------
@@ -72,7 +72,7 @@
 
 MainWin::MainWin(): running(true), powerButtonOn(false), showUntunedTankCircuit(true),
        cartridgeLoaded(false), CDActive(false),//, alpineLoadSuccessful(false),
-       pauseForFileSelector(false)
+       pauseForFileSelector(false), plzDontKillMyComputer(false)
 {
        videoWidget = new GLWidget(this);
        setCentralWidget(videoWidget);
@@ -442,6 +442,9 @@ void MainWin::Timer(void)
 
        if (showUntunedTankCircuit)
        {
+               // Some machines can't handle this, so we give them the option to disable it. :-)
+               if (!plzDontKillMyComputer)
+               {
                // Random hash & trash
                // We try to simulate an untuned tank circuit here... :-)
                for(uint32_t x=0; x<videoWidget->rasterWidth; x++)
@@ -452,6 +455,7 @@ void MainWin::Timer(void)
                                        = (rand() & 0xFF) << 8 | (rand() & 0xFF) << 16 | (rand() & 0xFF) << 24;
                        }
                }
+               }
        }
        else
        {
@@ -592,7 +596,10 @@ void MainWin::Unpause(void)
        if (pauseForFileSelector)
        {
                pauseForFileSelector = false;
-               ToggleRunState();
+
+               // Some nutter might have unpaused while in the file selector, so check for that
+               if (!running)
+                       ToggleRunState();
        }
 }