[X2Go-Commits] [nx-libs] 38/219: Fix NXevents.c: Reactivate errornously commented function

git-admin at x2go.org git-admin at x2go.org
Sat Sep 28 12:10:18 CEST 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch 3.6.x
in repository nx-libs.

commit fd84270023d72fbe335d8586d128a113b942137c
Author: Ulrich Sibiller <uli42 at gmx.de>
Date:   Wed May 22 22:22:36 2019 +0200

    Fix NXevents.c: Reactivate errornously commented function
    
    CheckMotion() had been commented in
    add881931f2e702fb1952f4e1baba04b3dc536ee as it looked identical to the
    version from dix/events.c except for some commented code. But this
    based (probably) on a thinko - code that had been disabled by NX
    became active again this way. Fix this by removing the comments and
    by adding #ifdef/else to emphasize the difference.
---
 nx-X11/programs/Xserver/dix/events.c          |   4 +
 nx-X11/programs/Xserver/hw/nxagent/NXevents.c | 141 ++++++++++++++------------
 2 files changed, 79 insertions(+), 66 deletions(-)

diff --git a/nx-X11/programs/Xserver/dix/events.c b/nx-X11/programs/Xserver/dix/events.c
index e936be77e..745932af3 100644
--- a/nx-X11/programs/Xserver/dix/events.c
+++ b/nx-X11/programs/Xserver/dix/events.c
@@ -245,6 +245,8 @@ static WindowPtr XYToWindow(
     int y
 );
 
+static Bool CheckMotion(xEvent *xE);
+
 extern int lastEvent;
 
 static Mask lastEventMask;
@@ -1951,6 +1953,7 @@ XYToWindow(int x, int y)
 }
 #endif /* NXAGENT_SERVER */
 
+#ifndef NXAGENT_SERVER
 static Bool
 CheckMotion(xEvent *xE)
 {
@@ -2015,6 +2018,7 @@ CheckMotion(xEvent *xE)
     }
     return TRUE;
 }
+#endif /* NXAGENT_SERVER */
 
 void
 WindowsRestructured()
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c
index 370fff6b5..43dfe8613 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c
@@ -381,79 +381,88 @@ XYToWindow(int x, int y)
     return spriteTrace[spriteTraceGood-1];
 }
 
-// static Bool
-// CheckMotion(xEvent *xE)
-// {
-//     WindowPtr prevSpriteWin = sprite.win;
-// 
+static Bool
+CheckMotion(xEvent *xE)
+{
+    WindowPtr prevSpriteWin = sprite.win;
+
 #ifdef PANORAMIX
-//     if(!noPanoramiXExtension)
-// 	return XineramaCheckMotion(xE);
+    if(!noPanoramiXExtension)
+	return XineramaCheckMotion(xE);
 #endif
 
-//     if (xE && !syncEvents.playingEvents)
-//     {
-// 	if (sprite.hot.pScreen != sprite.hotPhys.pScreen)
-// 	{
-// 	    sprite.hot.pScreen = sprite.hotPhys.pScreen;
-// 	    ROOT = sprite.hot.pScreen->root;
-// 	}
-// 	sprite.hot.x = XE_KBPTR.rootX;
-// 	sprite.hot.y = XE_KBPTR.rootY;
-// 	if (sprite.hot.x < sprite.physLimits.x1)
-// 	    sprite.hot.x = sprite.physLimits.x1;
-// 	else if (sprite.hot.x >= sprite.physLimits.x2)
-// 	    sprite.hot.x = sprite.physLimits.x2 - 1;
-// 	if (sprite.hot.y < sprite.physLimits.y1)
-// 	    sprite.hot.y = sprite.physLimits.y1;
-// 	else if (sprite.hot.y >= sprite.physLimits.y2)
-// 	    sprite.hot.y = sprite.physLimits.y2 - 1;
+    if (xE && !syncEvents.playingEvents)
+    {
+	if (sprite.hot.pScreen != sprite.hotPhys.pScreen)
+	{
+	    sprite.hot.pScreen = sprite.hotPhys.pScreen;
+	    ROOT = sprite.hot.pScreen->root;
+	}
+	sprite.hot.x = XE_KBPTR.rootX;
+	sprite.hot.y = XE_KBPTR.rootY;
+	if (sprite.hot.x < sprite.physLimits.x1)
+	    sprite.hot.x = sprite.physLimits.x1;
+	else if (sprite.hot.x >= sprite.physLimits.x2)
+	    sprite.hot.x = sprite.physLimits.x2 - 1;
+	if (sprite.hot.y < sprite.physLimits.y1)
+	    sprite.hot.y = sprite.physLimits.y1;
+	else if (sprite.hot.y >= sprite.physLimits.y2)
+	    sprite.hot.y = sprite.physLimits.y2 - 1;
 #ifdef SHAPE
-// 	if (sprite.hotShape)
-// 	    ConfineToShape(sprite.hotShape, &sprite.hot.x, &sprite.hot.y);
+	if (sprite.hotShape)
+	    ConfineToShape(sprite.hotShape, &sprite.hot.x, &sprite.hot.y);
 #endif
-// 	sprite.hotPhys = sprite.hot;
-// 
-//         /*
-//          * This code force cursor position to be inside the
-//          * root window of the agent. We can't view a reason
-//          * to do this and it interacts in an undesirable way
-//          * with toggling fullscreen.
-//          *
-//          * if ((sprite.hotPhys.x != XE_KBPTR.rootX) ||
-//          *          (sprite.hotPhys.y != XE_KBPTR.rootY))
-//          * {
-//          *   (*sprite.hotPhys.pScreen->SetCursorPosition)(
-//          *       sprite.hotPhys.pScreen,
-//          *           sprite.hotPhys.x, sprite.hotPhys.y, FALSE);
-//          * }
-//          */
-// 
-// 	XE_KBPTR.rootX = sprite.hot.x;
-// 	XE_KBPTR.rootY = sprite.hot.y;
-//     }
-// 
-//     sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y);
+	sprite.hotPhys = sprite.hot;
+
+#ifdef NXAGENT_SERVER
+        /*
+         * This code force cursor position to be inside the
+         * root window of the agent. We can't view a reason
+         * to do this and it interacts in an undesirable way
+         * with toggling fullscreen.
+         *
+         * if ((sprite.hotPhys.x != XE_KBPTR.rootX) ||
+         *          (sprite.hotPhys.y != XE_KBPTR.rootY))
+         * {
+         *   (*sprite.hotPhys.pScreen->SetCursorPosition)(
+         *       sprite.hotPhys.pScreen,
+         *           sprite.hotPhys.x, sprite.hotPhys.y, FALSE);
+         * }
+         */
+#else
+	if ((sprite.hotPhys.x != XE_KBPTR.rootX) ||
+	    (sprite.hotPhys.y != XE_KBPTR.rootY))
+	{
+	    (*sprite.hotPhys.pScreen->SetCursorPosition)(
+		sprite.hotPhys.pScreen,
+		sprite.hotPhys.x, sprite.hotPhys.y, FALSE);
+	}
+#endif
+	XE_KBPTR.rootX = sprite.hot.x;
+	XE_KBPTR.rootY = sprite.hot.y;
+    }
+
+    sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y);
 #ifdef notyet
-//     if (!(sprite.win->deliverableEvents &
-// 	  Motion_Filter(inputInfo.pointer->button))
-// 	!syncEvents.playingEvents)
-//     {
-// 	/* XXX Do PointerNonInterestBox here */
-//     }
+    if (!(sprite.win->deliverableEvents &
+	  Motion_Filter(inputInfo.pointer->button))
+	!syncEvents.playingEvents)
+    {
+	/* XXX Do PointerNonInterestBox here */
+    }
 #endif
-//     if (sprite.win != prevSpriteWin)
-//     {
-// 	if (prevSpriteWin != NullWindow) {
-// 	    if (!xE)
-// 		UpdateCurrentTimeIf();
-// 	    DoEnterLeaveEvents(prevSpriteWin, sprite.win, NotifyNormal);
-// 	}
-// 	PostNewCursor();
-//         return FALSE;
-//     }
-//     return TRUE;
-// }
+    if (sprite.win != prevSpriteWin)
+    {
+	if (prevSpriteWin != NullWindow) {
+	    if (!xE)
+		UpdateCurrentTimeIf();
+	    DoEnterLeaveEvents(prevSpriteWin, sprite.win, NotifyNormal);
+	}
+	PostNewCursor();
+        return FALSE;
+    }
+    return TRUE;
+}
 
 void
 DefineInitialRootWindow(register WindowPtr win)

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list