Bug#288688: kopete: silently disconnects from yahoo, matches KDE bug 87708?
Package: kopete
Version: 4:3.3.2-5
Followup-For: Bug #288688
I can confirm this problem; it makes the yahoo protocol just about unusable.
I notice that it seems to match KDE bug 87708.
It looks like KDE fixed this in their SVN revision 382436.
-- System Information:
Debian Release: 3.1
APT prefers testing
APT policy: (90, 'testing'), (50, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.11-1-686-smp
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Versions of packages kopete depends on:
ii kdelibs4 4:3.3.2-6.1 KDE core libraries
ii libart-2.0-2 2.3.17-1 Library of functions for 2D graphi
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
ii libfam0c102 2.7.0-6 client library to control the FAM
ii libgadu3 1:1.5+20050411-5 Gadu-Gadu protocol library - runti
ii libgcc1 1:3.4.3-13 GCC support library
ii libice6 4.3.0.dfsg.1-14 Inter-Client Exchange library
ii libidn11 0.5.13-1.0 GNU libidn library, implementation
ii libjpeg62 6b-10 The Independent JPEG Group's JPEG
ii libpcre3 4.5-1.2 Perl 5 Compatible Regular Expressi
ii libpng12-0 1.2.8rel-1 PNG library - runtime
ii libqt3c102-mt 3:3.3.4-3 Qt GUI Library (Threaded runtime v
ii libsm6 4.3.0.dfsg.1-14 X Window System Session Management
ii libstdc++5 1:3.3.5-13 The GNU Standard C++ Library v3
ii libx11-6 4.3.0.dfsg.1-14 X Window System protocol client li
ii libxext6 4.3.0.dfsg.1-14 X Window System miscellaneous exte
ii libxml2 2.6.16-7 GNOME XML library
ii libxrender1 0.8.3-7 X Rendering Extension client libra
ii libxslt1.1 1.1.12-8 XSLT processing library - runtime
ii xlibs 4.3.0.dfsg.1-14 X Keyboard Extension (XKB) configu
ii zlib1g 1:1.2.2-4.sarge.2 compression library - runtime
-- no debconf information
--- trunk/kdenetwork/kopete/protocols/yahoo/kyahoo.cpp 2004/12/31 18:02:39 374525
+++ trunk/kdenetwork/kopete/protocols/yahoo/kyahoo.cpp 2005/01/25 21:42:59 382436
@@ -139,9 +139,6 @@
m_Username = username;
m_Password = password;
m_socket = 0L;
- m_waitingForKeepalive = false;
- m_keepalive = new QTimer(this, "keepaliveTimer");
- connect( m_keepalive, SIGNAL( timeout() ), this, SLOT( refresh() ) );
}
int YahooSession::sessionId() const
@@ -177,30 +174,16 @@
{
kdDebug(14181)<< k_funcinfo << " " << m_connId <<endl;
yahoo_logoff( m_connId );
- if (m_keepalive)
- m_keepalive->stop();
- if ( m_socket )
- {
- if ( m_socket->isOpen() )
- {
- m_socket->reset();
- }
- }
+ if ( m_socket && m_socket->isOpen() )
+ m_socket->reset();
+
}
void YahooSession::refresh()
{
kdDebug(14181) << k_funcinfo << endl;
- if ( !m_waitingForKeepalive )
- {
- m_waitingForKeepalive = true;
- yahoo_refresh( m_connId );
- }
- else
- { // use 2 for the value of fatal here because it's a keepalive disconnect
- emit error( "Disconnected by keepalive." , 2 );
- }
+ yahoo_refresh( m_connId );
}
void YahooSession::setIdentityStatus( const QString &identity, int active)
@@ -718,9 +701,6 @@
kdDebug(14181) << k_funcinfo << endl;
- if ( succ == YAHOO_LOGIN_OK )
- m_keepalive->start(60000);
-
emit loginResponse( succ, QString( url ) );
}
@@ -1040,9 +1020,6 @@
int ret = 1;
int fd = m_socket->fd();
//kdDebug(14181) << k_funcinfo << "Socket FD: " << fd << endl;
-
- m_waitingForKeepalive = false;
-
ret = yahoo_read_ready( m_connId , fd, m_data );
if ( ret == -1 )
Reply to: