aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2009-02-11 19:37:45 +0800
committermiwi <miwi@FreeBSD.org>2009-02-11 19:37:45 +0800
commitebf2a101c8fb1baef6738f8e7367d836666df0b4 (patch)
treedbb41f623515063d16726f9817941dd52145cd1e
parentad28df10a230d75a2fe29f3f48a3c7e2042b30c1 (diff)
downloadfreebsd-ports-gnome-ebf2a101c8fb1baef6738f8e7367d836666df0b4.tar.gz
freebsd-ports-gnome-ebf2a101c8fb1baef6738f8e7367d836666df0b4.tar.zst
freebsd-ports-gnome-ebf2a101c8fb1baef6738f8e7367d836666df0b4.zip
- Add patches from upstream to bring Yahoo support back \o/
- Bump PORTREVISION Noticed by: Kris Moore <kris@pcbsd.com) Obtained from: kde svn
-rw-r--r--net/kdenetwork4/Makefile1
-rw-r--r--net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_libkyahoo-client.cpp68
-rw-r--r--net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_libkyahoo-client.h15
-rw-r--r--net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_logintask.cpp25
-rw-r--r--net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_logintask.h10
5 files changed, 119 insertions, 0 deletions
diff --git a/net/kdenetwork4/Makefile b/net/kdenetwork4/Makefile
index 39f5f9d60f72..19d3b7ff3a24 100644
--- a/net/kdenetwork4/Makefile
+++ b/net/kdenetwork4/Makefile
@@ -6,6 +6,7 @@
PORTNAME= kdenetwork
PORTVERSION= ${KDE4_VERSION}
+PORTREVISION= 1
CATEGORIES= net kde ipv6
MASTER_SITES= ${MASTER_SITE_KDE}
MASTER_SITE_SUBDIR= ${KDE4_BRANCH}/${PORTVERSION}/src
diff --git a/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_libkyahoo-client.cpp b/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_libkyahoo-client.cpp
new file mode 100644
index 000000000000..bc7f63d32a68
--- /dev/null
+++ b/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_libkyahoo-client.cpp
@@ -0,0 +1,68 @@
+--- ../kopete/protocols/yahoo/libkyahoo/client.cpp 2009/02/06 02:57:20 921978
++++ ../kopete/protocols/yahoo/libkyahoo/client.cpp 2009/02/09 14:00:12 923817
+@@ -99,6 +99,8 @@
+ QString statusMessageOnConnect;
+ Yahoo::PictureStatus pictureFlag;
+ int pictureChecksum;
++ bool buddyListReady;
++ QStringList pictureRequestQueue;
+ };
+
+ Client::Client(QObject *par) :QObject(par)
+@@ -117,12 +119,14 @@
+ d->loginTask = new LoginTask( d->root );
+ d->listTask = new ListTask( d->root );
+ d->pictureFlag = Yahoo::NoPicture;
++ d->buddyListReady = false;
+ m_connector = 0L;
+
+ m_pingTimer = new QTimer( this );
+ QObject::connect( m_pingTimer, SIGNAL( timeout() ), this, SLOT( sendPing() ) );
+
+ QObject::connect( d->loginTask, SIGNAL( haveSessionID( uint ) ), SLOT( lt_gotSessionID( uint ) ) );
++ QObject::connect( d->loginTask, SIGNAL( buddyListReady() ), SLOT( processPictureQueue() ) );
+ QObject::connect( d->loginTask, SIGNAL( loginResponse( int, const QString& ) ),
+ SLOT( slotLoginResponse( int, const QString& ) ) );
+ QObject::connect( d->loginTask, SIGNAL( haveCookies() ), SLOT( slotGotCookies() ) );
+@@ -197,6 +201,7 @@
+ m_connector->deleteLater();
+ m_connector = 0L;
+ d->active = false;
++ d->buddyListReady = false;
+ }
+
+ int Client::error()
+@@ -490,8 +495,33 @@
+
+ // ***** Buddyicon handling *****
+
++void Client::processPictureQueue()
++{
++ kDebug(YAHOO_RAW_DEBUG) << k_funcinfo << endl;
++ d->buddyListReady = true;
++ if( d->pictureRequestQueue.isEmpty() )
++ {
++ return;
++ }
++
++ requestPicture( d->pictureRequestQueue.front() );
++ d->pictureRequestQueue.pop_front();
++
++
++ if( !d->pictureRequestQueue.isEmpty() )
++ {
++ QTimer::singleShot( 1000, this, SLOT(processPictureQueue()) );
++ }
++}
++
+ void Client::requestPicture( const QString &userId )
+ {
++ if( !d->buddyListReady )
++ {
++ d->pictureRequestQueue << userId;
++ return;
++ }
++
+ RequestPictureTask *rpt = new RequestPictureTask( d->root );
+ rpt->setTarget( userId );
+ rpt->go( true );
diff --git a/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_libkyahoo-client.h b/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_libkyahoo-client.h
new file mode 100644
index 000000000000..766d5d2111a0
--- /dev/null
+++ b/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_libkyahoo-client.h
@@ -0,0 +1,15 @@
+--- ../kopete/protocols/yahoo/libkyahoo/client.h 2009/02/06 02:57:20 921978
++++ ../kopete/protocols/yahoo/libkyahoo/client.h 2009/02/09 14:00:12 923817
+@@ -705,6 +705,12 @@
+ * Send a Yahoo Ping packet to the server
+ */
+ void sendPing();
++
++ /**
++ * Send all queued buddy icon requests
++ */
++ void processPictureQueue();
++
+ private:
+ void distribute( Transfer *transfer );
+
diff --git a/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_logintask.cpp b/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_logintask.cpp
new file mode 100644
index 000000000000..8ec51280c819
--- /dev/null
+++ b/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_logintask.cpp
@@ -0,0 +1,25 @@
+--- ../kopete/protocols/yahoo/libkyahoo/logintask.cpp 2009/01/06 17:13:38 906699
++++ ../kopete/protocols/yahoo/libkyahoo/logintask.cpp 2009/02/09 14:00:12 923817
+@@ -66,6 +66,12 @@
+
+ YMSGTransfer *t = static_cast<YMSGTransfer *>(transfer);
+
++
++ if ( t->service() == Yahoo::ServicePing) {
++ emit buddyListReady();
++ return true;
++ }
++
+ switch (mState)
+ {
+ case (InitialState):
+@@ -99,6 +105,9 @@
+ if (!t)
+ return false;
+
++ if ( t->service() == Yahoo::ServicePing)
++ return true;
++
+ switch (mState)
+ {
+ case (InitialState):
diff --git a/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_logintask.h b/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_logintask.h
new file mode 100644
index 000000000000..6683119db832
--- /dev/null
+++ b/net/kdenetwork4/files/patch-svn923812-kopete_protocols_yahoo_logintask.h
@@ -0,0 +1,10 @@
+--- ../kopete/protocols/yahoo/libkyahoo/logintask.h 2009/01/06 17:13:38 906699
++++ ../kopete/protocols/yahoo/libkyahoo/logintask.h 2009/02/09 14:00:12 923817
+@@ -62,6 +62,7 @@
+ void haveSessionID( uint );
+ void haveCookies();
+ void loginResponse( int, const QString& );
++ void buddyListReady();
+ private:
+ State mState;
+ Yahoo::Status m_stateOnConnect;