Patch from GCI student Daniel Marth, fixes custom cursor rememts when

the mouse is outside the work area.
Checked with student's provided testbed application.

Checked too against TuxPaint 0.9.21 (can't build 0.9.21-cvs behind my proxy),
which crash fast but without custom cursor rememts. So it may also fix #401, but
it remains to be confirmed.
I'll attach the testbed app mentioned above to #401 soon.
This commit is contained in:
Philippe Houdoin
2010-12-06 17:33:25 +00:00
parent 14e7b0560f
commit b518f85ef0

View File

@@ -0,0 +1,25 @@
diff -NaurbE libsdl-1.2-hg/src/video/bwindow/SDL_sysevents.cc libsdl-1.2-hg-gci/src/video/bwindow/SDL_sysevents.cc
--- libsdl-1.2-hg/src/video/bwindow/SDL_sysevents.cc 2010-12-06 18:12:49.755761152 +0100
+++ libsdl-1.2-hg-gci/src/video/bwindow/SDL_sysevents.cc 2010-12-06 18:10:31.250871808 +0100
@@ -36,6 +36,7 @@
#include "../../events/SDL_sysevents.h"
#include "../../events/SDL_events_c.h"
#include "SDL_sysevents_c.h"
+#include "../SDL_cursor_c.h"
void BE_PumpEvents(_THIS)
{
@@ -203,11 +204,13 @@
if (transit == B_EXITED_VIEW) {
if ( SDL_GetAppState() & SDL_APPMOUSEFOCUS ) {
SDL_PrivateAppActive(0, SDL_APPMOUSEFOCUS);
+ SDL_EraseCursor(SDL_VideoSurface);
be_app->SetCursor(B_HAND_CURSOR);
}
} else {
if ( !(SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) {
SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
+ SDL_EraseCursor(SDL_VideoSurface);
SDL_SetCursor(NULL);
}