File melonds_allow-corruption.patch of Package melonds

diff --git a/src/ARM.cpp b/src/ARM.cpp
index 3452d361..9dea7492 100644
--- a/src/ARM.cpp
+++ b/src/ARM.cpp
@@ -430,7 +430,7 @@ void ARM::RestoreCPSR()
 
     default:
         Log(LogLevel::Warn, "!! attempt to restore CPSR under bad mode %02X, %08X\n", CPSR&0x1F, R[15]);
-        break;
+        //break;
     }
 
     CPSR |= 0x00000010;
@@ -617,8 +617,8 @@ void ARMv5::Execute()
                 && !NDS.JIT.SetupExecutableRegion(0, instrAddr, FastBlockLookup, FastBlockLookupStart, FastBlockLookupSize))
             {
                 NDS.ARM9Timestamp = NDS.ARM9Target;
-                Log(LogLevel::Error, "ARMv5 PC in non executable region %08X\n", R[15]);
-                return;
+                Log(LogLevel::Warn, "ARMv5 PC in non executable region %08X\n", R[15]);
+                //return;
             }
 
             JitBlockEntry block = NDS.JIT.LookUpBlock(0, FastBlockLookup,
@@ -755,8 +755,8 @@ void ARMv4::Execute()
                 && !NDS.JIT.SetupExecutableRegion(1, instrAddr, FastBlockLookup, FastBlockLookupStart, FastBlockLookupSize))
             {
                 NDS.ARM7Timestamp = NDS.ARM7Target;
-                Log(LogLevel::Error, "ARMv4 PC in non executable region %08X\n", R[15]);
-                return;
+                Log(LogLevel::Warn, "ARMv4 PC in non executable region %08X\n", R[15]);
+                //return;
             }
 
             JitBlockEntry block = NDS.JIT.LookUpBlock(1, FastBlockLookup,
diff --git a/src/NDS.cpp b/src/NDS.cpp
index 1023d3c0..19f09621 100644
--- a/src/NDS.cpp
+++ b/src/NDS.cpp
@@ -598,8 +598,8 @@ bool NDS::DoSavestate(Savestate* file)
         file->Var32(&console);
         if (console != ConsoleType)
         {
-            Log(LogLevel::Error, "savestate: Expected console type %d, got console type %d. cannot load.\n", ConsoleType, console);
-            return false;
+            Log(LogLevel::Warn, "savestate: Expected console type %d, got console type %d. cannot load.\n", ConsoleType, console);
+            //return false;
         }
     }
 
diff --git a/src/frontend/qt_sdl/EmuSettingsDialog.cpp b/src/frontend/qt_sdl/EmuSettingsDialog.cpp
index d612ac83..d216a9dd 100644
--- a/src/frontend/qt_sdl/EmuSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/EmuSettingsDialog.cpp
@@ -244,11 +244,9 @@ void EmuSettingsDialog::done(int r)
 
         if (modified)
         {
-            if (emuInstance->emuIsActive()
-                && QMessageBox::warning(this, "Reset necessary to apply changes",
-                    "The emulation will be reset for the changes to take place.",
-                    QMessageBox::Ok, QMessageBox::Cancel) != QMessageBox::Ok)
-                return;
+            QMessageBox::warning(this, "Reset necessary to apply changes",
+                "The emulation will be reset for the changes to take place.",
+                QMessageBox::Ok, QMessageBox::Cancel);
 
             auto& cfg = emuInstance->getGlobalConfig();
             auto& instcfg = emuInstance->getLocalConfig();
@@ -298,7 +296,7 @@ void EmuSettingsDialog::done(int r)
 
             Config::Save();
 
-            needsReset = true;
+            //needsReset = true;
         }
     }
 
diff --git a/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp b/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp
index 5d5ecd01..af3be5fd 100644
--- a/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp
@@ -165,11 +165,9 @@ void FirmwareSettingsDialog::done(int r)
 
         if (modified)
         {
-            if (emuInstance->emuIsActive()
-                && QMessageBox::warning(this, "Reset necessary to apply changes",
-                    "The emulation will be reset for the changes to take place.",
-                    QMessageBox::Ok, QMessageBox::Cancel) != QMessageBox::Ok)
-                return;
+           QMessageBox::warning(this, "Reset necessary to apply changes",
+                "The emulation will be reset for the changes to take place.",
+                QMessageBox::Ok, QMessageBox::Cancel);
 
             auto& cfg = emuInstance->getLocalConfig();
             auto firmcfg = cfg.GetTable("Firmware");
@@ -187,7 +185,7 @@ void FirmwareSettingsDialog::done(int r)
 
             Config::Save();
 
-            needsReset = true;
+            //needsReset = true;
         }
     }
 
openSUSE Build Service is sponsored by