Version: unknown (using KDE 3.1.4) Installed from: compiled sources Compiler: gcc version 3.2.2 OS: Linux (i686) release 2.4.22.2-mark-athlon- i lost the connection with the msn network, and the icon in the taskbar got gray. then i reconnected again, and the icon didnt restore itself. i believe this is the same when the buddy goes offline-online.
You mean in the chatwindow?
The icon of the window itself.
I cannot reproduce this using current CVS...I did indeed see that the icon goes grey, but it comes back for me, in the titlebar (tested with the keramik theme), in the taskbar if enabled...indeed everywhere that I can tell.
This is the case with MSN. In fact, the windows caption is no longner updated iff the user lefft the chat.
Is this bug still around? I never get disconnected from MSN without doing it by hand so I don't know. I suspect that some fixes I made today will fix the titlebar updaing though.
Yes this bug is still around. Like i said, the problem is all QT signals are disconnected when the user quit the chat. (which is generaly the case when he goes offline) So the ChatWindows icon is no longer updated if the user change his status
Yes but if he was then reconnected, then he woudl re-join the chat, and the signals get re-connected, right? If not then how do the messages appear in the window?
Also, if you are in away mode, open a chatwindow (on AIM at least), then your user icon in the member list has the away icon. If you then change your status to online, the member list does not update, and shows the away icon indefinitely.
(this is a chatwindow problem)
Subject: KDE_3_2_BRANCH: kdenetwork/kopete/kopete/chatwindow CVS commit by mklingens: Update status properly even when the user has left the chat in 1-to-1 chats CCMAIL: 64912-done@bugs.kde.org M +12 -9 chatview.cpp 1.113.2.1 --- kdenetwork/kopete/kopete/chatwindow/chatview.cpp #1.113:1.113.2.1 @@ -682,12 +682,18 @@ void ChatView::slotContactRemoved( const m_remoteTypingMap.remove( const_cast<KopeteContact *>( contact ) ); - disconnect( contact, SIGNAL( displayNameChanged( const QString &, const QString & ) ), - this, SLOT( slotContactNameChanged( const QString &, const QString & ) ) ); - QString contactName = contact->displayName(); mComplete->removeItem( contactName ); + delete memberContactMap[ contact ]; + memberContactMap.remove( contact ); + + // When the last person leaves, don't disconnect the signals, since we're in a one-to-one chat + if ( msgManager()->members().count() > 0 ) + { disconnect( contact, SIGNAL( onlineStatusChanged( KopeteContact *, const KopeteOnlineStatus &, const KopeteOnlineStatus & ) ), this, SLOT( slotContactStatusChanged( KopeteContact *, const KopeteOnlineStatus &, const KopeteOnlineStatus & ) ) ); + disconnect( contact, SIGNAL( displayNameChanged( const QString &, const QString & ) ), + this, SLOT( slotContactNameChanged( const QString &, const QString & ) ) ); + } if ( reason.isEmpty() ) @@ -703,7 +709,4 @@ void ChatView::slotContactRemoved( const ); } - - delete memberContactMap[ contact ]; - memberContactMap.remove( contact ); }