Ticket #6162: xsyncfix.diff
File xsyncfix.diff, 1.6 KB (added by , 15 years ago) |
---|
-
mythtv/libs/libmyth/screensaver-x11.cpp
101 101 m_dpmsdeactivated = true; 102 102 DPMSDisable(qt_xdisplay()); 103 103 VERBOSE(VB_GENERAL, "DPMS Deactivated "); 104 XSync(qt_xdisplay(), FALSE); 104 105 } 105 106 } 106 107 … … 111 112 m_dpmsdeactivated = false; 112 113 DPMSEnable(qt_xdisplay()); 113 114 VERBOSE(VB_GENERAL, "DPMS Reactivated."); 115 XSync(qt_xdisplay(), FALSE); 114 116 } 115 117 } 116 118 … … 130 132 { 131 133 XSetScreenSaver(qt_xdisplay(), m_state.timeout, m_state.interval, 132 134 m_state.preferblank, m_state.allowexposure); 135 XSync(qt_xdisplay(), FALSE); 133 136 m_state.saved = false; 134 137 } 135 138 } … … 197 200 XResetScreenSaver(qt_xdisplay()); 198 201 199 202 XSetScreenSaver(qt_xdisplay(), 0, 0, 0, 0); 203 XSync(qt_xdisplay(), FALSE); 200 204 201 205 d->DisableDPMS(); 202 206 … … 211 215 212 216 // One must reset after the restore 213 217 XResetScreenSaver(qt_xdisplay()); 218 XSync(qt_xdisplay(), FALSE); 214 219 215 220 if (d->IsScreenSaverRunning()) 216 221 d->StopTimer(); … … 225 230 if (Asleep()) 226 231 { 227 232 DPMSForceLevel(qt_xdisplay(), DPMSModeOn); 228 // Calling XSync is necessary for the case when Myth executes229 // another application before the event loop regains control230 XSync(qt_xdisplay(), false);231 233 } 234 XSync(qt_xdisplay(), FALSE); 232 235 } 233 236 234 237 bool ScreenSaverX11::Asleep(void)