diff --git a/CMakeLists.txt b/CMakeLists.txt index 01e2c5498..880415ed3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2246,6 +2246,7 @@ elseif(VITA) SceHid_stub SceMotion_stub ScePower_stub + SceProcessmgr_stub m ) if(HAVE_VIDEO_VITA_PIB) diff --git a/src/video/vita/SDL_vitavideo.c b/src/video/vita/SDL_vitavideo.c index 0de9c1d1b..4ea96faae 100644 --- a/src/video/vita/SDL_vitavideo.c +++ b/src/video/vita/SDL_vitavideo.c @@ -33,6 +33,7 @@ #include "../../events/SDL_keyboard_c.h" /* VITA declarations */ +#include #include "SDL_vitavideo.h" #include "SDL_vitatouch.h" #include "SDL_vitakeyboard.h" @@ -346,8 +347,8 @@ VITA_RestoreWindow(_THIS, SDL_Window * window) void VITA_SetWindowGrab(_THIS, SDL_Window * window, SDL_bool grabbed) { - } + void VITA_DestroyWindow(_THIS, SDL_Window * window) { @@ -555,6 +556,12 @@ void VITA_PumpEvents(_THIS) #if !defined(SDL_VIDEO_VITA_PVR) SDL_VideoData *videodata = (SDL_VideoData *)_this->driverdata; #endif + + if (_this->suspend_screensaver) { + // cancel all idle timers to prevent vita going to sleep + sceKernelPowerTick(SCE_KERNEL_POWER_TICK_DEFAULT); + } + VITA_PollTouch(); VITA_PollKeyboard(); VITA_PollMouse(); diff --git a/src/video/vita/SDL_vitavideo.h b/src/video/vita/SDL_vitavideo.h index 372c192ef..1b1aa4f6f 100644 --- a/src/video/vita/SDL_vitavideo.h +++ b/src/video/vita/SDL_vitavideo.h @@ -38,7 +38,6 @@ typedef struct SDL_VideoData SceWChar16 ime_buffer[SCE_IME_DIALOG_MAX_TEXT_LENGTH]; SDL_bool ime_active; - } SDL_VideoData;