[Commits] SDL: Fixed bug 4000 - SDL2 on raspberry: mouse displayed at 0, 0 ...

libsdl.org revision control commits-owner at libsdl.org
Tue Dec 19 11:17:41 PST 2017


details:   https://hg.libsdl.org/SDL/rev/3ec03f35f3b9
changeset: 11784:3ec03f35f3b9
user:      Sam Lantinga <slouken at libsdl.org>
date:      Tue Dec 19 11:17:37 2017 -0800
description:
Fixed bug 4000 - SDL2 on raspberry: mouse displayed at 0,0 after SDL_ShowCursor

Laurent Merckx

I have a problem with the SDL_ShowCursor method on Raspberry.

Depending on the context, my application hides or show the mouse cursor with SDL_ShowCursor.
But when calling SDL_ShowCursor(true), the cursor is displayed at 0,0 (and not at last position).

After debugging sources by myself, it seems that the problem is in SDL_rpimouse.c - RPI_ShowCursor:

vc_dispmanx_rect_set( &dst_rect, 0, 0, curdata->w, curdata->h);
should be
vc_dispmanx_rect_set( &dst_rect, mouse->x, mouse->y, curdata->w, curdata->h);

For me, it solves the problem.

diffstat:

 src/video/raspberry/SDL_rpimouse.c |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diffs (12 lines):

diff -r c7577c45151a -r 3ec03f35f3b9 src/video/raspberry/SDL_rpimouse.c
--- a/src/video/raspberry/SDL_rpimouse.c	Tue Dec 19 11:14:06 2017 -0800
+++ b/src/video/raspberry/SDL_rpimouse.c	Tue Dec 19 11:17:37 2017 -0800
@@ -165,7 +165,7 @@
     
     if (curdata->element == DISPMANX_NO_HANDLE) {
         vc_dispmanx_rect_set(&src_rect, 0, 0, curdata->w << 16, curdata->h << 16);
-        vc_dispmanx_rect_set(&dst_rect, 0, 0, curdata->w, curdata->h);
+        vc_dispmanx_rect_set(&dst_rect, mouse->x, mouse->y, curdata->w, curdata->h);
         
         update = vc_dispmanx_update_start(10);
         SDL_assert(update);


More information about the commits mailing list