Index: programs/mythfrontend/main.cpp
===================================================================
--- programs/mythfrontend/main.cpp	(revision 13456)
+++ programs/mythfrontend/main.cpp	(working copy)
@@ -54,6 +54,7 @@
 #define NO_EXIT  0
 #define QUIT     1
 #define HALT     2
+#define REBOOT   3
 
 static MythThemedMenu *menu;
 static MythThemeBase *themeBase;
@@ -443,6 +444,7 @@
     diag.AddButton(QObject::tr("No"));
     diag.AddButton(QObject::tr("Yes, Exit now"));
     if (frontendOnly)
+        diag.AddButton(QObject::tr("Yes, Exit and Reboot"));
         diag.AddButton(QObject::tr("Yes, Exit and Shutdown"));
 
     int result = diag.exec();
@@ -450,7 +452,8 @@
     {
         case 1: return NO_EXIT;
         case 2: return QUIT;
-        case 3: return HALT;
+        case 3: return REBOOT;
+        case 4: return HALT;
         default: return NO_EXIT;
     }
 }
@@ -463,6 +466,14 @@
         system(halt_cmd.ascii());
 }
 
+void rebootnow()
+{
+    QString reboot_cmd = gContext->GetSetting("RebootCommand",
+                                            "sudo /sbin/reboot");
+    if (!reboot_cmd.isEmpty())
+        system(reboot_cmd.ascii());
+}
+
 bool RunMenu(QString themedir)
 {
     menu = new MythThemedMenu(themedir.ascii(), "mainmenu.xml", 
@@ -1247,6 +1258,9 @@
     if (exitstatus == HALT)
         haltnow();
 
+    if (exitstatus == REBOOT)
+        rebootnow();
+
     pmanager->DestroyAllPlugins();
 
 #ifndef _WIN32
