diff --git a/es-core/src/Window.cpp b/es-core/src/Window.cpp index 39489494f..0f33e5e24 100644 --- a/es-core/src/Window.cpp +++ b/es-core/src/Window.cpp @@ -140,10 +140,6 @@ void Window::input(InputConfig* config, Input input) mSleeping = true; } } - /*else if(input.value != 0) - { - return; - }*/ } } @@ -158,7 +154,8 @@ void Window::input(InputConfig* config, Input input) } mTimeSinceLastInput = 0; - cancelScreenSaver(); + if (cancelScreenSaver()) + return; if(config->getDeviceId() == DEVICE_KEYBOARD && input.value && input.id == SDLK_g && SDL_GetModState() & KMOD_LCTRL && Settings::getInstance()->getBool("Debug")) { @@ -418,34 +415,38 @@ bool Window::isProcessing() } void Window::startScreenSaver() - { - if (mScreenSaver && !mRenderScreenSaver) - { - // Tell the GUI components the screensaver is starting - for(auto i = mGuiStack.cbegin(); i != mGuiStack.cend(); i++) - (*i)->onScreenSaverActivate(); +{ + if (mScreenSaver && !mRenderScreenSaver) + { + // Tell the GUI components the screensaver is starting + for(auto i = mGuiStack.cbegin(); i != mGuiStack.cend(); i++) + (*i)->onScreenSaverActivate(); - mScreenSaver->startScreenSaver(); - mRenderScreenSaver = true; - } - } + mScreenSaver->startScreenSaver(); + mRenderScreenSaver = true; + } +} - void Window::cancelScreenSaver() - { - if (mScreenSaver && mRenderScreenSaver) - { - mScreenSaver->stopScreenSaver(); - mRenderScreenSaver = false; - mScreenSaver->resetCounts(); +bool Window::cancelScreenSaver() +{ + if (mScreenSaver && mRenderScreenSaver) + { + mScreenSaver->stopScreenSaver(); + mRenderScreenSaver = false; + mScreenSaver->resetCounts(); - // Tell the GUI components the screensaver has stopped - for(auto i = mGuiStack.cbegin(); i != mGuiStack.cend(); i++) - (*i)->onScreenSaverDeactivate(); - } - } + // Tell the GUI components the screensaver has stopped + for(auto i = mGuiStack.cbegin(); i != mGuiStack.cend(); i++) + (*i)->onScreenSaverDeactivate(); - void Window::renderScreenSaver() - { - if (mScreenSaver) - mScreenSaver->renderScreenSaver(); - } + return true; + } + + return false; +} + +void Window::renderScreenSaver() +{ + if (mScreenSaver) + mScreenSaver->renderScreenSaver(); +} diff --git a/es-core/src/Window.h b/es-core/src/Window.h index 738dcda98..3f104c648 100644 --- a/es-core/src/Window.h +++ b/es-core/src/Window.h @@ -74,7 +74,7 @@ public: inline void stopInfoPopup() { if (mInfoPopup) mInfoPopup->stop(); }; void startScreenSaver(); - void cancelScreenSaver(); + bool cancelScreenSaver(); void renderScreenSaver(); private: