void ScreenSaverX11::Reset(void) { bool need_xsync = false; Display *dsp = NULL; if (d->m_display) dsp = d->m_display->GetDisplay(); if (dsp) { XResetScreenSaver(dsp); need_xsync = true; } if (d->IsScreenSaverRunning()) resetSlot(); if (Asleep() && dsp) { DPMSForceLevel(dsp, DPMSModeOn); need_xsync = true; } if (need_xsync && d->m_display) d->m_display->Sync(); }
void ScreenSaverX11::Reset(void) { XResetScreenSaver(qt_xdisplay()); if (d->IsScreenSaverRunning()) resetSlot(); if (Asleep()) { DPMSForceLevel(qt_xdisplay(), DPMSModeOn); // Calling XSync is necessary for the case when Myth executes // another application before the event loop regains control XSync(qt_xdisplay(), false); } }