Date: Tue, 24 Jul 2007 17:24:30 +0200 (CEST) From: Emanuel Haupt <ehaupt@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/114869: patch: sysutils/synergy - provide additional upstream patch Message-ID: <200707241524.l6OFOU0t002065@freefall.freebsd.org> Resent-Message-ID: <200707241530.l6OFU2j1002207@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 114869 >Category: ports >Synopsis: patch: sysutils/synergy - provide additional upstream patch >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Tue Jul 24 15:30:02 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Emanuel Haupt >Release: FreeBSD 6.2-STABLE i386 >Organization: >Environment: System: FreeBSD freefall.freebsd.org 6.2-STABLE FreeBSD 6.2-STABLE #0: Fri Jul 13 03:43:15 UTC 2007 peter@freefall.freebsd.org:/usr/obj/usr/src/sys/FREEFALL i386 >Description: This patch fixes a bug when a Windows XP client sends an invalid mouse position to the server at initial connect. Since it's in the project bugtracking db I assue the patch will also go the the next upstream version. Also bump PORTREVISION. Obtained from: https://sourceforge.net/tracker/index.php?func=detail&aid=1551788&group_id=59275&atid=490469 >How-To-Repeat: >Fix: --- synergy.patch begins here --- Index: Makefile =================================================================== RCS file: /home/pcvs/ports/sysutils/synergy/Makefile,v retrieving revision 1.13 diff -u -r1.13 Makefile --- Makefile 7 Jun 2007 04:28:36 -0000 1.13 +++ Makefile 24 Jul 2007 15:15:56 -0000 @@ -7,7 +7,7 @@ PORTNAME= synergy PORTVERSION= 1.3.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME}2 Index: files/patch-lib__server__CClientProxy1_0.cpp =================================================================== RCS file: files/patch-lib__server__CClientProxy1_0.cpp diff -N files/patch-lib__server__CClientProxy1_0.cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-lib__server__CClientProxy1_0.cpp 24 Jul 2007 15:15:56 -0000 @@ -0,0 +1,28 @@ +--- ./lib/server/CClientProxy1_0.cpp.orig 2006-04-02 03:47:03.000000000 +0200 ++++ ./lib/server/CClientProxy1_0.cpp 2007-07-24 16:59:59.000000000 +0200 +@@ -401,7 +401,7 @@ + &x, &y, &w, &h, &dummy1, &mx, &my)) { + return false; + } +- LOG((CLOG_DEBUG "received client \"%s\" info shape=%d,%d %dx%d", getName().c_str(), x, y, w, h)); ++ LOG((CLOG_DEBUG "received client \"%s\" info shape=%d,%d %dx%d mouse=%d,%d", getName().c_str(), x, y, w, h, mx, my)); + + // validate + if (w <= 0 || h <= 0) { +@@ -413,8 +413,14 @@ + m_info.m_y = y; + m_info.m_w = w; + m_info.m_h = h; +- m_info.m_mx = mx; +- m_info.m_my = my; ++ ++ if(mx >= x && mx < x+w && my >= y && my < y+h) { ++ m_info.m_mx = mx; ++ m_info.m_my = my; ++ } else { ++ m_info.m_mx = x + w/2; ++ m_info.m_my = y + h/2; ++ } + + // acknowledge receipt + LOG((CLOG_DEBUG1 "send info ack to \"%s\"", getName().c_str())); Index: files/patch-lib__server__CServer.cpp =================================================================== RCS file: files/patch-lib__server__CServer.cpp diff -N files/patch-lib__server__CServer.cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-lib__server__CServer.cpp 24 Jul 2007 15:15:56 -0000 @@ -0,0 +1,30 @@ +--- ./lib/server/CServer.cpp.orig 2006-04-02 03:47:04.000000000 +0200 ++++ ./lib/server/CServer.cpp 2007-07-24 16:59:59.000000000 +0200 +@@ -434,16 +434,23 @@ + SInt32 x, SInt32 y, bool forScreensaver) + { + assert(dst != NULL); ++ assert(m_active != NULL); ++ ++ LOG((CLOG_INFO "switch from \"%s\" to \"%s\" at %d,%d", getName(m_active).c_str(), getName(dst).c_str(), x, y)); ++ + #ifndef NDEBUG + { + SInt32 dx, dy, dw, dh; + dst->getShape(dx, dy, dw, dh); +- assert(x >= dx && y >= dy && x < dx + dw && y < dy + dh); ++ ++ if(!(x >= dx && y >= dy && x < dx + dw && y < dy + dh)) { ++ LOG((CLOG_ERR "debug check failed")); ++ LOG((CLOG_ERR "x=%d dx=%d dw=%d", x, dx, dw)); ++ LOG((CLOG_ERR "y=%d dy=%d dh=%d", y, dy, dh)); ++ assert(0); ++ } + } + #endif +- assert(m_active != NULL); +- +- LOG((CLOG_INFO "switch from \"%s\" to \"%s\" at %d,%d", getName(m_active).c_str(), getName(dst).c_str(), x, y)); + + // stop waiting to switch + stopSwitch(); --- synergy.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707241524.l6OFOU0t002065>