File fretsonfire-1.3.110-settings.patch of Package fretsonfire

--- src/Settings.py
+++ src/Settings.py
@@ -127,12 +127,13 @@
 
 class SettingsMenu(Menu.Menu):
   def __init__(self, engine):
+    self.engine = engine
     applyItem = [(_("Apply New Settings"), self.applySettings)]
 
     modSettings = [
       ConfigChoice(engine.config, "mods",  "mod_" + m) for m in Mod.getAvailableMods(engine)
     ] + applyItem
-    
+
     gameSettings = [
       (_("Mod settings"), modSettings),
       ConfigChoice(engine.config, "game",  "language"),
@@ -142,6 +143,10 @@
     ]
     gameSettingsMenu = Menu.Menu(engine, gameSettings + applyItem)
 
+    restartItem = [(_("Please restart the game"), lambda: self.engine.view.popLayer(self.restartMenu) )]
+    restartMenu = Menu.Menu(engine, restartItem)
+    self.restartMenu = restartMenu
+
     keySettings = [
       (_("Test Keys"), lambda: Dialogs.testKeys(engine)),
       KeyConfigChoice(engine, engine.config, "player", "key_action1"),
@@ -158,7 +163,7 @@
       KeyConfigChoice(engine, engine.config, "player", "key_cancel"),
     ]
     keySettingsMenu = Menu.Menu(engine, keySettings)
-    
+
     modes = engine.video.getVideoModes()
     modes.reverse()
     Config.define("video",  "resolution", str,   "640x480", text = _("Video Resolution"), options = ["%dx%d" % (m[0], m[1]) for m in modes])
@@ -196,7 +201,7 @@
       (_("Video Settings"),    videoSettingsMenu),
       (_("Audio Settings"),    audioSettingsMenu),
     ]
-  
+
     self.settingsToApply = settings + \
                            videoSettings + \
                            audioSettings + \
@@ -205,13 +210,15 @@
                            modSettings
 
     Menu.Menu.__init__(self, engine, settings)
-    
+
   def applySettings(self):
     for option in self.settingsToApply:
       if isinstance(option, ConfigChoice):
         option.apply()
-    self.engine.restart()
 
+    self.engine.view.pushLayer(self.restartMenu)
+    return
+
 class GameSettingsMenu(Menu.Menu):
   def __init__(self, engine):
     settings = [
openSUSE Build Service is sponsored by