Update to 1.3.4

This commit is contained in:
Kevin Lo 2010-11-01 06:15:35 +00:00
parent 4f504d1db5
commit 15ef04bce2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=263875
8 changed files with 6 additions and 172 deletions

View File

@ -6,10 +6,10 @@
#
PORTNAME= synergy
PORTVERSION= 1.3.1
PORTREVISION= 8
PORTVERSION= 1.3.4
CATEGORIES= sysutils
MASTER_SITES= SF/${PORTNAME}2/Sources/${PORTVERSION}
MASTER_SITES= http://synergy-plus.googlecode.com/files/
DISTNAME= ${PORTNAME}-plus-${PORTVERSION}
MAINTAINER= kevlo@FreeBSD.org
COMMENT= Mouse and keyboard sharing utility
@ -19,22 +19,10 @@ USE_XORG= ice xtst x11 sm
CONFIGURE_ENV= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
PTHREAD_LIBS="${PTHREAD_LIBS}"
DOCS= AUTHORS COPYING ChangeLog INSTALL NEWS README
CONFLICTS= synergy-plus-[0-9]*
post-patch:
@${REINPLACE_CMD} -e 's|-Werror||' ${WRKSRC}/configure
post-install:
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
.for file in ${DOCS}
@${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
.endfor
@cd ${WRKSRC}/doc && ${TAR} cf - *.html *.css images | \
${TAR} -C ${DOCSDIR} -xpf -
.endif
${MKDIR} ${PREFIX}/share/examples/synergy
${INSTALL_DATA} ${WRKSRC}/examples/synergy.conf ${PREFIX}/share/examples/synergy

View File

@ -1,3 +1,2 @@
MD5 (synergy-1.3.1.tar.gz) = a6e09d6b71cb217f23069980060abf27
SHA256 (synergy-1.3.1.tar.gz) = 4a15e26456498dda5f3aa7d688a4892e0c50394a2f01685136fbc954bacc9691
SIZE (synergy-1.3.1.tar.gz) = 793172
SHA256 (synergy-plus-1.3.4.tar.gz) = b3c3ae4cd5e907d2584b939793da3323836bcc1222c38910decce9ae68335272
SIZE (synergy-plus-1.3.4.tar.gz) = 754640

View File

@ -1,52 +0,0 @@
--- lib/platform/CXWindowsClipboard.cpp.orig 2006-04-02 09:47:03.000000000 +0800
+++ lib/platform/CXWindowsClipboard.cpp 2008-10-06 15:52:39.000000000 +0800
@@ -219,7 +219,7 @@
if (reply->m_replied && reply->m_property == property) {
// if reply is complete then remove it and start the
// next one.
- pushReplies(index, replies, index2);
+ pushReplies(index->first, replies, index2);
return true;
}
}
@@ -928,17 +928,23 @@
{
// send the first reply for each window if that reply hasn't
// been sent yet.
- for (CReplyMap::iterator index = m_replies.begin();
- index != m_replies.end(); ++index) {
- assert(!index->second.empty());
- if (!index->second.front()->m_replied) {
- pushReplies(index, index->second, index->second.begin());
+ CReplyMap::iterator index = m_replies.begin();
+ while (index != m_replies.end()) {
+ // increment index before calling pushReplies(...) as
+ // pushReplies(...) normally erases the member of the map, that
+ // index points to, invalidating index as iterator.
+ Window requestor = index->first;
+ CReplyList& replies = index->second;
+ index++;
+ assert(!replies.empty());
+ if (!replies.front()->m_replied) {
+ pushReplies(requestor, replies, replies.begin());
}
}
}
void
-CXWindowsClipboard::pushReplies(CReplyMap::iterator mapIndex,
+CXWindowsClipboard::pushReplies(Window requestor,
CReplyList& replies, CReplyList::iterator index)
{
CReply* reply = *index;
@@ -957,9 +963,8 @@
// and stop watching the requestor for events.
if (replies.empty()) {
CXWindowsUtil::CErrorLock lock(m_display);
- Window requestor = mapIndex->first;
XSelectInput(m_display, requestor, m_eventMasks[requestor]);
- m_replies.erase(mapIndex);
+ m_replies.erase(requestor);
m_eventMasks.erase(requestor);
}
}

View File

@ -1,11 +0,0 @@
--- lib/platform/CXWindowsClipboard.h.orig 2008-10-06 14:51:40.000000000 +0800
+++ lib/platform/CXWindowsClipboard.h 2008-10-06 14:52:33.000000000 +0800
@@ -265,7 +265,7 @@
bool insertMultipleReply(Window, ::Time, Atom);
void insertReply(CReply*);
void pushReplies();
- void pushReplies(CReplyMap::iterator,
+ void pushReplies(Window requestor,
CReplyList&, CReplyList::iterator);
bool sendReply(CReply*);
void clearReplies();

View File

@ -1,28 +0,0 @@
--- ./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()));

View File

@ -1,30 +0,0 @@
--- ./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();

View File

@ -4,4 +4,4 @@ own display, without special hardware. It's intended for users
with multiple computers on their desk since each system uses its
own display.
WWW: http://synergy2.sourceforge.net
WWW: http://synergy-foss.org/

View File

@ -2,35 +2,3 @@ bin/synergyc
bin/synergys
%%EXAMPLESDIR%%/synergy.conf
@dirrm %%EXAMPLESDIR%%
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
%%PORTDOCS%%%%DOCSDIR%%/INSTALL
%%PORTDOCS%%%%DOCSDIR%%/NEWS
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/about.html
%%PORTDOCS%%%%DOCSDIR%%/authors.html
%%PORTDOCS%%%%DOCSDIR%%/autostart.html
%%PORTDOCS%%%%DOCSDIR%%/banner.html
%%PORTDOCS%%%%DOCSDIR%%/border.html
%%PORTDOCS%%%%DOCSDIR%%/compiling.html
%%PORTDOCS%%%%DOCSDIR%%/configuration.html
%%PORTDOCS%%%%DOCSDIR%%/contact.html
%%PORTDOCS%%%%DOCSDIR%%/developer.html
%%PORTDOCS%%%%DOCSDIR%%/faq.html
%%PORTDOCS%%%%DOCSDIR%%/history.html
%%PORTDOCS%%%%DOCSDIR%%/home.html
%%PORTDOCS%%%%DOCSDIR%%/images/logo.gif
%%PORTDOCS%%%%DOCSDIR%%/images/warp.gif
%%PORTDOCS%%%%DOCSDIR%%/index.html
%%PORTDOCS%%%%DOCSDIR%%/license.html
%%PORTDOCS%%%%DOCSDIR%%/news.html
%%PORTDOCS%%%%DOCSDIR%%/roadmap.html
%%PORTDOCS%%%%DOCSDIR%%/running.html
%%PORTDOCS%%%%DOCSDIR%%/security.html
%%PORTDOCS%%%%DOCSDIR%%/synergy.css
%%PORTDOCS%%%%DOCSDIR%%/tips.html
%%PORTDOCS%%%%DOCSDIR%%/toc.html
%%PORTDOCS%%%%DOCSDIR%%/trouble.html
%%PORTDOCS%%@dirrm %%DOCSDIR%%/images
%%PORTDOCS%%@dirrm %%DOCSDIR%%