Index: mythtv/libs/libmythui/screensaver-x11.cpp
===================================================================
--- mythtv.orig/libs/libmythui/screensaver-x11.cpp	2008-10-30 13:24:23.000000000 -0400
+++ mythtv/libs/libmythui/screensaver-x11.cpp	2008-11-08 21:50:08.000000000 -0500
@@ -1,3 +1,4 @@
+#include <QDateTime>
 #include <QTimer>
 #include <QX11Info>
 
@@ -141,10 +142,16 @@
 
     void ResetScreenSaver()
     {
-        if (m_xscreensaverRunning)
-            myth_system("xscreensaver-command -deactivate >&- 2>&- &");
-        else
-            myth_system("gnome-screensaver-command --poke >&- 2>&- &");
+        QDateTime current_time = QDateTime::currentDateTime ();
+        if ((!m_last_deactivated.isValid()) ||
+            (m_last_deactivated.secsTo(current_time) > 30))
+        {
+            if (m_xscreensaverRunning)
+                myth_system("xscreensaver-command -deactivate >&- 2>&- &");
+            else if (m_gscreensaverRunning)
+                myth_system("gnome-screensaver-command --poke >&- 2>&- &");
+            m_last_deactivated = current_time;
+        }
     }
 
   private:
@@ -170,6 +177,8 @@
     int m_timeoutInterval;
     QTimer *m_resetTimer;
 
+    QDateTime m_last_deactivated;
+
     ScreenSaverState m_state;
 };
 

