rpms/synergy/F-8 synergy-1.3.1-copynpaste-crash.patch, NONE, 1.1 synergy-1.3.1-gcc43.patch, NONE, 1.1 synergy.spec, 1.19, 1.20

Hans de Goede (jwrdegoede) fedora-extras-commits at redhat.com
Mon Jun 2 10:02:16 UTC 2008


Author: jwrdegoede

Update of /cvs/extras/rpms/synergy/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10158

Modified Files:
	synergy.spec 
Added Files:
	synergy-1.3.1-copynpaste-crash.patch synergy-1.3.1-gcc43.patch 
Log Message:
* Mon Jun  2 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 1.3.1-8
- Fix synergy crashing on copy and paste (bz 434539)


synergy-1.3.1-copynpaste-crash.patch:

--- NEW FILE synergy-1.3.1-copynpaste-crash.patch ---
--- synergy-1.3.1/lib/platform/CXWindowsClipboard.h~	2008-05-31 00:03:11.000000000 +0200
+++ synergy-1.3.1/lib/platform/CXWindowsClipboard.h	2008-05-31 00:03:11.000000000 +0200
@@ -265,7 +265,7 @@ private:
 	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();
--- synergy-1.3.1/lib/platform/CXWindowsClipboard.cpp.foobar	2006-04-02 03:47:03.000000000 +0200
+++ synergy-1.3.1/lib/platform/CXWindowsClipboard.cpp	2008-05-31 00:09:16.000000000 +0200
@@ -219,7 +219,7 @@ CXWindowsClipboard::processRequest(Windo
 		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 @@ CXWindowsClipboard::pushReplies()
 {
 	// 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 @@ CXWindowsClipboard::pushReplies(CReplyMa
 	// 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);
 	}
 }

synergy-1.3.1-gcc43.patch:

--- NEW FILE synergy-1.3.1-gcc43.patch ---
diff -Naupr synergy-1.3.1.orig/lib/arch/CArchDaemonUnix.cpp synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp
--- synergy-1.3.1.orig/lib/arch/CArchDaemonUnix.cpp	2005-04-24 05:02:12.000000000 +0200
+++ synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp	2008-02-24 00:49:30.000000000 +0100
@@ -19,6 +19,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <errno.h>
+#include <cstdlib>
 
 //
 // CArchDaemonUnix
diff -Naupr synergy-1.3.1.orig/lib/arch/CMultibyte.cpp synergy-1.3.1/lib/arch/CMultibyte.cpp
--- synergy-1.3.1.orig/lib/arch/CMultibyte.cpp	2005-11-30 05:33:24.000000000 +0100
+++ synergy-1.3.1/lib/arch/CMultibyte.cpp	2008-02-24 01:31:32.000000000 +0100
@@ -17,8 +17,9 @@
 
 #include "common.h"
 #include "CArch.h"
-#include <limits.h>
-#include <string.h>
+#include <climits>
+#include <cstring>
+#include <cstdlib>
 #if HAVE_LOCALE_H
 #	include <locale.h>
 #endif
@@ -26,7 +27,7 @@
 #	include <wchar.h>
 #elif __APPLE__
 	// wtf?  Darwin puts mbtowc() et al. in stdlib
-#	include <stdlib.h>
+#	include <cstdlib>
 #else
 	// platform apparently has no wchar_t support.  provide dummy
 	// implementations.  hopefully at least the C++ compiler has
diff -Naupr synergy-1.3.1.orig/lib/arch/XArchUnix.cpp synergy-1.3.1/lib/arch/XArchUnix.cpp
--- synergy-1.3.1.orig/lib/arch/XArchUnix.cpp	2005-04-24 05:02:13.000000000 +0200
+++ synergy-1.3.1/lib/arch/XArchUnix.cpp	2008-02-24 01:29:33.000000000 +0100
@@ -13,7 +13,7 @@
  */
 
 #include "XArchUnix.h"
-#include <string.h>
+#include <cstring>
 
 //
 // XArchEvalUnix
diff -Naupr synergy-1.3.1.orig/lib/base/CStringUtil.cpp synergy-1.3.1/lib/base/CStringUtil.cpp
--- synergy-1.3.1.orig/lib/base/CStringUtil.cpp	2005-12-14 18:25:20.000000000 +0100
+++ synergy-1.3.1/lib/base/CStringUtil.cpp	2008-02-24 01:01:34.000000000 +0100
@@ -19,6 +19,7 @@
 #include <cctype>
 #include <cstdio>
 #include <cstdlib>
+#include <cstring>
 #include <algorithm>
 
 //
diff -Naupr synergy-1.3.1.orig/lib/base/CUnicode.cpp synergy-1.3.1/lib/base/CUnicode.cpp
--- synergy-1.3.1.orig/lib/base/CUnicode.cpp	2005-04-24 05:02:13.000000000 +0200
+++ synergy-1.3.1/lib/base/CUnicode.cpp	2008-02-24 01:29:21.000000000 +0100
@@ -14,7 +14,7 @@
 
 #include "CUnicode.h"
 #include "CArch.h"
-#include <string.h>
+#include <cstring>
 
 //
 // local utility functions
diff -Naupr synergy-1.3.1.orig/lib/client/CClient.cpp synergy-1.3.1/lib/client/CClient.cpp
--- synergy-1.3.1.orig/lib/client/CClient.cpp	2006-03-09 05:07:17.000000000 +0100
+++ synergy-1.3.1/lib/client/CClient.cpp	2008-02-24 01:21:56.000000000 +0100
@@ -26,6 +26,8 @@
 #include "CLog.h"
 #include "IEventQueue.h"
 #include "TMethodEventJob.h"
+#include <cstring>
+#include <cstdlib>
 
 //
 // CClient
diff -Naupr synergy-1.3.1.orig/lib/client/CServerProxy.cpp synergy-1.3.1/lib/client/CServerProxy.cpp
--- synergy-1.3.1.orig/lib/client/CServerProxy.cpp	2006-04-02 03:47:03.000000000 +0200
+++ synergy-1.3.1/lib/client/CServerProxy.cpp	2008-02-24 01:21:28.000000000 +0100
@@ -24,6 +24,7 @@
 #include "TMethodEventJob.h"
 #include "XBase.h"
 #include <memory>
+#include <cstring>
 
 //
 // CServerProxy
diff -Naupr synergy-1.3.1.orig/lib/net/CTCPSocket.cpp synergy-1.3.1/lib/net/CTCPSocket.cpp
--- synergy-1.3.1.orig/lib/net/CTCPSocket.cpp	2006-04-02 03:47:03.000000000 +0200
+++ synergy-1.3.1/lib/net/CTCPSocket.cpp	2008-02-24 01:11:17.000000000 +0100
@@ -23,7 +23,9 @@
 #include "IEventJob.h"
 #include "CArch.h"
 #include "XArch.h"
-#include <string.h>
+#include <cstring>
+#include <cstdlib>
+#include <memory>
 
 //
 // CTCPSocket
diff -Naupr synergy-1.3.1.orig/lib/platform/CXWindowsScreen.cpp synergy-1.3.1/lib/platform/CXWindowsScreen.cpp
--- synergy-1.3.1.orig/lib/platform/CXWindowsScreen.cpp	2006-04-02 21:16:39.000000000 +0200
+++ synergy-1.3.1/lib/platform/CXWindowsScreen.cpp	2008-02-24 01:19:13.000000000 +0100
@@ -27,6 +27,7 @@
 #include "IEventQueue.h"
 #include "TMethodEventJob.h"
 #include <cstring>
+#include <cstdlib>
 #if X_DISPLAY_MISSING
 #	error X11 is required to build synergy
 #else
diff -Naupr synergy-1.3.1.orig/lib/server/CClientProxy1_3.cpp synergy-1.3.1/lib/server/CClientProxy1_3.cpp
--- synergy-1.3.1.orig/lib/server/CClientProxy1_3.cpp	2006-02-12 20:53:43.000000000 +0100
+++ synergy-1.3.1/lib/server/CClientProxy1_3.cpp	2008-02-24 01:27:30.000000000 +0100
@@ -17,6 +17,8 @@
 #include "CLog.h"
 #include "IEventQueue.h"
 #include "TMethodEventJob.h"
+#include <cstring>
+#include <memory>
 
 //
 // CClientProxy1_3
diff -Naupr synergy-1.3.1.orig/lib/server/CConfig.cpp synergy-1.3.1/lib/server/CConfig.cpp
--- synergy-1.3.1.orig/lib/server/CConfig.cpp	2006-03-22 06:40:27.000000000 +0100
+++ synergy-1.3.1/lib/server/CConfig.cpp	2008-02-24 01:31:48.000000000 +0100
@@ -19,7 +19,7 @@
 #include "XSocket.h"
 #include "stdistream.h"
 #include "stdostream.h"
-#include <stdlib.h>
+#include <cstdlib>
 
 //
 // CConfig
diff -Naupr synergy-1.3.1.orig/lib/server/CInputFilter.cpp synergy-1.3.1/lib/server/CInputFilter.cpp
--- synergy-1.3.1.orig/lib/server/CInputFilter.cpp	2006-04-02 03:47:03.000000000 +0200
+++ synergy-1.3.1/lib/server/CInputFilter.cpp	2008-02-24 01:29:05.000000000 +0100
@@ -19,8 +19,8 @@
 #include "CEventQueue.h"
 #include "CLog.h"
 #include "TMethodEventJob.h"
-#include <stdlib.h>
-#include <string.h>
+#include <cstdlib>
+#include <cstring>
 
 // -----------------------------------------------------------------------------
 // Input Filter Condition Classes
diff -Naupr synergy-1.3.1.orig/lib/server/CServer.cpp synergy-1.3.1/lib/server/CServer.cpp
--- synergy-1.3.1.orig/lib/server/CServer.cpp	2006-04-02 03:47:04.000000000 +0200
+++ synergy-1.3.1/lib/server/CServer.cpp	2008-02-24 01:25:14.000000000 +0100
@@ -28,7 +28,8 @@
 #include "CLog.h"
 #include "TMethodEventJob.h"
 #include "CArch.h"
-#include <string.h>
+#include <cstring>
+#include <cstdlib>
 
 //
 // CServer
diff -Naupr synergy-1.3.1.orig/lib/synergy/CKeyMap.cpp synergy-1.3.1/lib/synergy/CKeyMap.cpp
--- synergy-1.3.1.orig/lib/synergy/CKeyMap.cpp	2006-03-22 06:40:27.000000000 +0100
+++ synergy-1.3.1/lib/synergy/CKeyMap.cpp	2008-02-24 01:32:13.000000000 +0100
@@ -16,8 +16,8 @@
 #include "KeyTypes.h"
 #include "CLog.h"
 #include <assert.h>
-#include <ctype.h>
-#include <stdlib.h>
+#include <cctype>
+#include <cstdlib>
 
 CKeyMap::CNameToKeyMap*			CKeyMap::s_nameToKeyMap      = NULL;
 CKeyMap::CNameToModifierMap*	CKeyMap::s_nameToModifierMap = NULL;
diff -Naupr synergy-1.3.1.orig/lib/synergy/CKeyState.cpp synergy-1.3.1/lib/synergy/CKeyState.cpp
--- synergy-1.3.1.orig/lib/synergy/CKeyState.cpp	2006-04-01 22:53:08.000000000 +0200
+++ synergy-1.3.1/lib/synergy/CKeyState.cpp	2008-02-24 01:28:45.000000000 +0100
@@ -15,7 +15,7 @@
 #include "CKeyState.h"
 #include "IEventQueue.h"
 #include "CLog.h"
-#include <string.h>
+#include <cstring>
 #include <algorithm>
 
 static const KeyButton kButtonMask = (KeyButton)(IKeyState::kNumButtons - 1);
diff -Naupr synergy-1.3.1.orig/lib/synergy/CPacketStreamFilter.cpp synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp
--- synergy-1.3.1.orig/lib/synergy/CPacketStreamFilter.cpp	2005-04-24 05:02:16.000000000 +0200
+++ synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp	2008-02-24 01:13:48.000000000 +0100
@@ -16,6 +16,8 @@
 #include "IEventQueue.h"
 #include "CLock.h"
 #include "TMethodEventJob.h"
+#include <cstring>
+#include <memory>
 
 //
 // CPacketStreamFilter
diff -Naupr synergy-1.3.1.orig/lib/synergy/IKeyState.cpp synergy-1.3.1/lib/synergy/IKeyState.cpp
--- synergy-1.3.1.orig/lib/synergy/IKeyState.cpp	2006-03-22 06:40:27.000000000 +0100
+++ synergy-1.3.1/lib/synergy/IKeyState.cpp	2008-02-24 01:15:42.000000000 +0100
@@ -13,7 +13,8 @@
  */
 
 #include "IKeyState.h"
-#include <string.h>
+#include <cstring>
+#include <cstdlib>
 
 //
 // IKeyState
diff -Naupr synergy-1.3.1.orig/lib/synergy/IPrimaryScreen.cpp synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp
--- synergy-1.3.1.orig/lib/synergy/IPrimaryScreen.cpp	2006-03-22 06:40:27.000000000 +0100
+++ synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp	2008-02-24 01:16:42.000000000 +0100
@@ -13,6 +13,7 @@
  */
 
 #include "IPrimaryScreen.h"
+#include <cstdlib>
 
 //
 // IPrimaryScreen


Index: synergy.spec
===================================================================
RCS file: /cvs/extras/rpms/synergy/F-8/synergy.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- synergy.spec	23 Aug 2007 07:52:41 -0000	1.19
+++ synergy.spec	2 Jun 2008 10:01:16 -0000	1.20
@@ -1,12 +1,14 @@
 Summary: Mouse and keyboard sharing utility
 Name: synergy
 Version: 1.3.1
-Release: 5%{?dist}
+Release: 8%{?dist}
 License: GPLv2
 Group: System Environment/Daemons
 URL: http://synergy2.sourceforge.net/
 Source: http://downloads.sf.net/synergy2/synergy-%{version}.tar.gz
-Patch: synergy-1.2.2-werror.patch
+Patch0: synergy-1.2.2-werror.patch
+Patch1: synergy-1.3.1-gcc43.patch
+Patch2: synergy-1.3.1-copynpaste-crash.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: libX11-devel, libXext-devel, libXtst-devel, libXt-devel
 BuildRequires: libXinerama-devel
@@ -23,7 +25,9 @@
 
 %prep
 %setup -q
-%patch -p1 -b .werror
+%patch0 -p1 -b .werror
+%patch1 -p1 -b .gcc43
+%patch2 -p1 -b .copynpaste
 autoreconf
 
 
@@ -51,6 +55,15 @@
 
 
 %changelog
+* Mon Jun  2 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 1.3.1-8
+- Fix synergy crashing on copy and paste (bz 434539)
+
+* Sun Feb 24 2008 Matthias Saou <http://freshrpms.net/> 1.3.1-7
+- Include patch to fix build failure with gcc 4.3 (#434460).
+
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> 1.3.1-6
+- Autorebuild for GCC 4.3
+
 * Thu Aug 23 2007 Matthias Saou <http://freshrpms.net/> 1.3.1-5
 - Rebuild for new BuildID feature.
 




More information about the fedora-extras-commits mailing list