rpms/qtsingleapplication/F-12 qtsingleapplication-add-api.patch, NONE, 1.1 qtsingleapplication.spec, 1.1, 1.2

Orcan Ogetbil oget at fedoraproject.org
Sat Jul 17 02:07:28 UTC 2010


Author: oget

Update of /cvs/pkgs/rpms/qtsingleapplication/F-12
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv20592

Modified Files:
	qtsingleapplication.spec 
Added Files:
	qtsingleapplication-add-api.patch 
Log Message:
* Fri Jul 16 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> 2.6.1-2
- Add additional API to support clementine.


qtsingleapplication-add-api.patch:
 qtlocalpeer.cpp             |   13 +++++++++----
 qtlocalpeer.h               |    2 ++
 qtlockedfile_win.cpp        |    4 ++--
 qtsingleapplication.cpp     |   14 ++++++++++++--
 qtsingleapplication.h       |    2 ++
 qtsinglecoreapplication.cpp |    7 +++++++
 qtsinglecoreapplication.h   |    2 ++
 7 files changed, 36 insertions(+), 8 deletions(-)

--- NEW FILE qtsingleapplication-add-api.patch ---
diff -rupN qtsingleapplication-2.6_1-opensource.old/src/qtlocalpeer.cpp qtsingleapplication-2.6_1-opensource/src/qtlocalpeer.cpp
--- qtsingleapplication-2.6_1-opensource.old/src/qtlocalpeer.cpp	2009-12-16 05:43:33.000000000 -0500
+++ qtsingleapplication-2.6_1-opensource/src/qtlocalpeer.cpp	2010-07-16 21:52:15.000000000 -0400
@@ -48,6 +48,7 @@
 #include "qtlocalpeer.h"
 #include <QtCore/QCoreApplication>
 #include <QtCore/QTime>
+#include <QtDebug>
 
 #if defined(Q_OS_WIN)
 #include <QtCore/QLibrary>
@@ -138,6 +139,11 @@ bool QtLocalPeer::isClient()
 
 bool QtLocalPeer::sendMessage(const QString &message, int timeout)
 {
+    return sendMessage(message.toUtf8(), timeout);
+}
+
+bool QtLocalPeer::sendMessage(const QByteArray &message, int timeout)
+{
     if (!isClient())
         return false;
 
@@ -160,9 +166,8 @@ bool QtLocalPeer::sendMessage(const QStr
     if (!connOk)
         return false;
 
-    QByteArray uMsg(message.toUtf8());
     QDataStream ds(&socket);
-    ds.writeBytes(uMsg.constData(), uMsg.size());
+    ds.writeBytes(message.constData(), message.size());
     bool res = socket.waitForBytesWritten(timeout);
     res &= socket.waitForReadyRead(timeout);   // wait for ack
     res &= (socket.read(qstrlen(ack)) == ack);
@@ -195,9 +200,9 @@ void QtLocalPeer::receiveConnection()
         delete socket;
         return;
     }
-    QString message(QString::fromUtf8(uMsg));
     socket->write(ack, qstrlen(ack));
     socket->waitForBytesWritten(1000);
     delete socket;
-    emit messageReceived(message); //### (might take a long time to return)
+    emit messageReceived(uMsg); //### (might take a long time to return)
+    emit messageReceived(QString::fromUtf8(uMsg));
 }
diff -rupN qtsingleapplication-2.6_1-opensource.old/src/qtlocalpeer.h qtsingleapplication-2.6_1-opensource/src/qtlocalpeer.h
--- qtsingleapplication-2.6_1-opensource.old/src/qtlocalpeer.h	2009-12-16 05:43:33.000000000 -0500
+++ qtsingleapplication-2.6_1-opensource/src/qtlocalpeer.h	2010-07-16 21:52:15.000000000 -0400
@@ -61,11 +61,13 @@ public:
     QtLocalPeer(QObject *parent = 0, const QString &appId = QString());
     bool isClient();
     bool sendMessage(const QString &message, int timeout);
+    bool sendMessage(const QByteArray &message, int timeout);
     QString applicationId() const
         { return id; }
 
 Q_SIGNALS:
     void messageReceived(const QString &message);
+    void messageReceived(const QByteArray &message);
 
 protected Q_SLOTS:
     void receiveConnection();
diff -rupN qtsingleapplication-2.6_1-opensource.old/src/qtlockedfile_win.cpp qtsingleapplication-2.6_1-opensource/src/qtlockedfile_win.cpp
--- qtsingleapplication-2.6_1-opensource.old/src/qtlockedfile_win.cpp	2009-12-16 05:43:33.000000000 -0500
+++ qtsingleapplication-2.6_1-opensource/src/qtlockedfile_win.cpp	2010-07-16 21:52:15.000000000 -0400
@@ -65,7 +65,7 @@ Qt::HANDLE QtLockedFile::getMutexHandle(
 
     Qt::HANDLE mutex;
     if (doCreate) {
-        QT_WA( { mutex = CreateMutexW(NULL, FALSE, (TCHAR*)mname.utf16()); },
+        QT_WA( { mutex = CreateMutexW(NULL, FALSE, (WCHAR*)mname.utf16()); },
                { mutex = CreateMutexA(NULL, FALSE, mname.toLocal8Bit().constData()); } );
         if (!mutex) {
             qErrnoWarning("QtLockedFile::lock(): CreateMutex failed");
@@ -73,7 +73,7 @@ Qt::HANDLE QtLockedFile::getMutexHandle(
         }
     }
     else {
-        QT_WA( { mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (TCHAR*)mname.utf16()); },
+        QT_WA( { mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (WCHAR*)mname.utf16()); },
                { mutex = OpenMutexA(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, mname.toLocal8Bit().constData()); } );
         if (!mutex) {
             if (GetLastError() != ERROR_FILE_NOT_FOUND)
diff -rupN qtsingleapplication-2.6_1-opensource.old/src/qtsingleapplication.cpp qtsingleapplication-2.6_1-opensource/src/qtsingleapplication.cpp
--- qtsingleapplication-2.6_1-opensource.old/src/qtsingleapplication.cpp	2009-12-16 05:43:33.000000000 -0500
+++ qtsingleapplication-2.6_1-opensource/src/qtsingleapplication.cpp	2010-07-16 21:52:15.000000000 -0400
@@ -144,6 +144,7 @@ void QtSingleApplication::sysInit(const 
     actWin = 0;
     peer = new QtLocalPeer(this, appId);
     connect(peer, SIGNAL(messageReceived(const QString&)), SIGNAL(messageReceived(const QString&)));
+    connect(peer, SIGNAL(messageReceived(const QByteArray&)), SIGNAL(messageReceived(const QByteArray&)));
 }
 
 
@@ -265,6 +266,11 @@ bool QtSingleApplication::sendMessage(co
     return peer->sendMessage(message, timeout);
 }
 
+bool QtSingleApplication::sendMessage(const QByteArray &message, int timeout)
+{
+    return peer->sendMessage(message, timeout);
+}
+
 
 /*!
     Returns the application identifier. Two processes with the same
@@ -291,10 +297,14 @@ QString QtSingleApplication::id() const
 void QtSingleApplication::setActivationWindow(QWidget* aw, bool activateOnMessage)
 {
     actWin = aw;
-    if (activateOnMessage)
+    if (activateOnMessage) {
         connect(peer, SIGNAL(messageReceived(const QString&)), this, SLOT(activateWindow()));
-    else
+        connect(peer, SIGNAL(messageReceived(const QByteArray&)), this, SLOT(activateWindow()));
+    }
+    else {
         disconnect(peer, SIGNAL(messageReceived(const QString&)), this, SLOT(activateWindow()));
+        disconnect(peer, SIGNAL(messageReceived(const QByteArray&)), this, SLOT(activateWindow()));
+    }
 }
 
 
diff -rupN qtsingleapplication-2.6_1-opensource.old/src/qtsingleapplication.h qtsingleapplication-2.6_1-opensource/src/qtsingleapplication.h
--- qtsingleapplication-2.6_1-opensource.old/src/qtsingleapplication.h	2009-12-16 05:43:33.000000000 -0500
+++ qtsingleapplication-2.6_1-opensource/src/qtsingleapplication.h	2010-07-16 21:52:15.000000000 -0400
@@ -91,11 +91,13 @@ public:
 
 public Q_SLOTS:
     bool sendMessage(const QString &message, int timeout = 5000);
+    bool sendMessage(const QByteArray &message, int timeout = 5000);
     void activateWindow();
 
 
 Q_SIGNALS:
     void messageReceived(const QString &message);
+    void messageReceived(const QByteArray &message);
 
 
 private:
diff -rupN qtsingleapplication-2.6_1-opensource.old/src/qtsinglecoreapplication.cpp qtsingleapplication-2.6_1-opensource/src/qtsinglecoreapplication.cpp
--- qtsingleapplication-2.6_1-opensource.old/src/qtsinglecoreapplication.cpp	2009-12-16 05:43:33.000000000 -0500
+++ qtsingleapplication-2.6_1-opensource/src/qtsinglecoreapplication.cpp	2010-07-16 21:52:15.000000000 -0400
@@ -81,6 +81,7 @@ QtSingleCoreApplication::QtSingleCoreApp
 {
     peer = new QtLocalPeer(this);
     connect(peer, SIGNAL(messageReceived(const QString&)), SIGNAL(messageReceived(const QString&)));
+    connect(peer, SIGNAL(messageReceived(const QByteArray&)), SIGNAL(messageReceived(const QByteArray&)));
 }
 
 
@@ -94,6 +95,7 @@ QtSingleCoreApplication::QtSingleCoreApp
 {
     peer = new QtLocalPeer(this, appId);
     connect(peer, SIGNAL(messageReceived(const QString&)), SIGNAL(messageReceived(const QString&)));
+    connect(peer, SIGNAL(messageReceived(const QByteArray&)), SIGNAL(messageReceived(const QByteArray&)));
 }
 
 
@@ -133,6 +135,11 @@ bool QtSingleCoreApplication::sendMessag
     return peer->sendMessage(message, timeout);
 }
 
+bool QtSingleCoreApplication::sendMessage(const QByteArray &message, int timeout)
+{
+    return peer->sendMessage(message, timeout);
+}
+
 
 /*!
     Returns the application identifier. Two processes with the same
diff -rupN qtsingleapplication-2.6_1-opensource.old/src/qtsinglecoreapplication.h qtsingleapplication-2.6_1-opensource/src/qtsinglecoreapplication.h
--- qtsingleapplication-2.6_1-opensource.old/src/qtsinglecoreapplication.h	2009-12-16 05:43:33.000000000 -0500
+++ qtsingleapplication-2.6_1-opensource/src/qtsinglecoreapplication.h	2010-07-16 21:52:15.000000000 -0400
@@ -62,10 +62,12 @@ public:
 
 public Q_SLOTS:
     bool sendMessage(const QString &message, int timeout = 5000);
+    bool sendMessage(const QByteArray &message, int timeout = 5000);
 
 
 Q_SIGNALS:
     void messageReceived(const QString &message);
+    void messageReceived(const QByteArray &message);
 
 
 private:


Index: qtsingleapplication.spec
===================================================================
RCS file: /cvs/pkgs/rpms/qtsingleapplication/F-12/qtsingleapplication.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- qtsingleapplication.spec	8 Jul 2010 02:48:59 -0000	1.1
+++ qtsingleapplication.spec	17 Jul 2010 02:07:28 -0000	1.2
@@ -4,12 +4,12 @@
 Summary:	Qt library to start applications only once per user
 Name:		qtsingleapplication
 Version:	2.6.1
-Release:	1%{?dist}
+Release:	2%{?dist}
 Group:		System Environment/Libraries
 License:	GPLv3 or LGPLv2 with exceptions
 URL:		http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Utilities/qtsingleapplication
 Source0:	http://get.qt.nokia.com/qt/solutions/lgpl/qtsingleapplication-%{upstreamver}.tar.gz
-# The following source and patches are sent upstream:
+# The following source and 2 patches are sent upstream:
 # http://bugreports.qt.nokia.com/browse/QTSOLBUG-119
 # To add qmake support for convenience for packages using this library:
 Source1:	qtsingleapplication.prf
@@ -17,6 +17,9 @@ Source1:	qtsingleapplication.prf
 Patch0:		qtsingleapplication-build.diff
 # The library includes a duplicate of qtlockedfile. We link to it dynamically instead:
 Patch1:		qtsingleapplication-dont-bundle-external-libs.patch
+# Additional API for building clementine
+# http://bugreports.qt.nokia.com/browse/QTSOLBUG-133
+Patch2:		qtsingleapplication-add-api.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	qt4-devel
 BuildRequires:	qtlockedfile-devel
@@ -49,6 +52,7 @@ that use QtSingleApplication.
 %setup -q -n %{name}-%{upstreamver}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 # We already disabled bundling this extrenal library.
 # But just to make sure:
@@ -103,6 +107,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_qt4_datadir}/mkspecs/features/%{name}.prf
 
 %changelog
+* Fri Jul 16 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> 2.6.1-2
+- Add additional API to support clementine.
+
 * Sun Jun 04 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> 2.6.1-1
 - Change version to 2.6.1. Upstream uses weird version convention 2.6_1
 - Own the directory %%{_qt4_headerdir}/QtSolutions/



More information about the scm-commits mailing list