tag 578389 + patch
thanks

On Mon, 2010-04-19 at 16:31 +0200, MP wrote:
> I found, that upgrading libsdl (libsdl1.2debian, libsdl1.2debian-alsa
> and libsdl1.2debian-dev packages) from 1.2.14-4+b1 to 1.2.14-5 breaks
> OpenTTD.
> 
> The problem is, that mouse cursor disappear when I click into OpenTTD
> window (I can still click and cause actions, but I can't see the
> pointer) and reappear if I move the mouse outside OpenTTD window and
> then back inside.
[...]
> I tried downgrading libsdl from 1.2.14-5 back to 1.2.14-4+b1 and it
> fixed the issue with disappearing mouse pointer, so I think libSDL is
> the root cause.

Yep, looks like this is the result of my fix in -5, partially reverting
an upstream mouse-related patch in order to make wesnoth work.

Happily, however, some testing (using fvwm) suggests that reverting the
remaining portion of that upstream patch is enough to make both wesnoth
and openttd work, at least in a brief test of each on my laptop.

I've attached a new patch to this mail and uploaded pre-built amd64
binaries to http://alioth.debian.org/~adsb/sdl1.2/. Any testing of those
would be appreciated, as I'd like to finally get an updated libsdl1.2
(and the packages blocked behind it) in to testing.

Regards,

Adam
diff -u libsdl1.2-1.2.14/debian/changelog libsdl1.2-1.2.14/debian/changelog
--- libsdl1.2-1.2.14/debian/changelog
+++ libsdl1.2-1.2.14/debian/changelog
@@ -1,3 +1,13 @@
+libsdl1.2 (1.2.14-5.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Add 320_disappearingcursor.diff to fix problems with the mouse cursor
+    disappearing in OpenTTD using 1.2.14-5.  Partially reverts the fix for
+    upstream bug #716 (r4872); taken together with 310_fixmouseclicks,
+    the upstream fix is entirely reverted.  (Closes: #578389)
+
+ -- Adam D. Barratt <a...@adam-barratt.org.uk>  Sat, 24 Apr 2010 17:31:16 +0100
+
 libsdl1.2 (1.2.14-5) unstable; urgency=low
 
   * Add 310_fixmouseclicks.diff to fix problems with left-mouse clicks
diff -u libsdl1.2-1.2.14/debian/patches/series libsdl1.2-1.2.14/debian/patches/series
--- libsdl1.2-1.2.14/debian/patches/series
+++ libsdl1.2-1.2.14/debian/patches/series
@@ -18,0 +19 @@
+320_disappearingcursor.diff
only in patch2:
unchanged:
--- libsdl1.2-1.2.14.orig/debian/patches/320_disappearingcursor.diff
+++ libsdl1.2-1.2.14/debian/patches/320_disappearingcursor.diff
@@ -0,0 +1,17 @@
+Index: libsdl1.2-1.2.14/src/video/x11/SDL_x11events.c
+===================================================================
+--- libsdl1.2-1.2.14.orig/src/video/x11/SDL_x11events.c	2010-04-24 13:05:25.000000000 +0100
++++ libsdl1.2-1.2.14/src/video/x11/SDL_x11events.c	2010-04-24 13:09:25.000000000 +0100
+@@ -441,8 +444,10 @@
+ if ( xevent.xcrossing.mode == NotifyUngrab )
+ printf("Mode: NotifyUngrab\n");
+ #endif
+-		if ( xevent.xcrossing.detail != NotifyInferior ) {
+-			if ( this->input_grab == SDL_GRAB_OFF ) {
++		if ( (xevent.xcrossing.mode != NotifyGrab) &&
++		     (xevent.xcrossing.mode != NotifyUngrab) &&
++		     (xevent.xcrossing.detail != NotifyInferior) ) {
++               		if ( this->input_grab == SDL_GRAB_OFF ) {
+ 				posted = SDL_PrivateAppActive(0, SDL_APPMOUSEFOCUS);
+ 			} else {
+ 				posted = SDL_PrivateMouseMotion(0, 0,

Reply via email to