summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorThomas Jarosch <tomj@simonv.com>2011-05-25 20:11:03 +0000
committerThomas Jarosch <tomj@simonv.com>2011-05-25 20:11:03 +0000
commiteec4e9ff6a19a04d0ceff448dd4b16b1f6f6508c (patch)
tree7b068417456e2a0c606bc21327a6b820512a80da /firmware
parentcc9079d24d6dd73f2118a1b413fbaa3f13ed44a1 (diff)
downloadrockbox-eec4e9ff6a19a04d0ceff448dd4b16b1f6f6508c.tar.gz
rockbox-eec4e9ff6a19a04d0ceff448dd4b16b1f6f6508c.zip
Fix SDL touch screen handling on the screen edges
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29925 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/hosted/sdl/system-sdl.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/firmware/target/hosted/sdl/system-sdl.c b/firmware/target/hosted/sdl/system-sdl.c
index 750a0144a4..93a8a7cb66 100644
--- a/firmware/target/hosted/sdl/system-sdl.c
+++ b/firmware/target/hosted/sdl/system-sdl.c
@@ -138,8 +138,15 @@ static int sdl_event_thread(void * param)
138 } 138 }
139 139
140#if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA)) 140#if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA))
141 /* Hide mouse cursor on real touchscreen device */ 141 /* SDL touch screen fix: Work around a SDL assumption that returns
142 SDL_ShowCursor(SDL_DISABLE); 142 relative mouse coordinates when you get to the screen edges
143 using the touchscreen and a disabled mouse cursor.
144 */
145 uint8_t hiddenCursorData = 0;
146 SDL_Cursor *hiddenCursor = SDL_CreateCursor(&hiddenCursorData, &hiddenCursorData, 8, 1, 0, 0);
147
148 SDL_ShowCursor(SDL_ENABLE);
149 SDL_SetCursor(hiddenCursor);
143#endif 150#endif
144 151
145 SDL_WM_SetCaption(UI_TITLE, NULL); 152 SDL_WM_SetCaption(UI_TITLE, NULL);
@@ -174,6 +181,10 @@ static int sdl_event_thread(void * param)
174 SDL_WaitThread(maemo_thread, NULL); 181 SDL_WaitThread(maemo_thread, NULL);
175#endif 182#endif
176 183
184#if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA))
185 SDL_FreeCursor(hiddenCursor);
186#endif
187
177 if(picture_surface) 188 if(picture_surface)
178 SDL_FreeSurface(picture_surface); 189 SDL_FreeSurface(picture_surface);
179 190