[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kopete-devel
Subject:    [kopete-devel] [Bug 143032] Kopete crashes with SIGSEGV when
From:       Roman Jarosz <kedgedev () centrum ! cz>
Date:       2007-03-16 10:04:37
Message-ID: 20070316100437.4093.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=143032         




------- Additional Comments From kedgedev centrum cz  2007-03-16 11:04 -------
SVN commit 643069 by rjarosz:

Forwardport fix for bug 143032: Kopete crashes with SIGSEGV when launched with aim \
quasi-url

Also fix the same crash in ICQ and crash when account is offline.
Add error messages to improve error feedback.

CCBUG: 143032



 M  +10 -2     aim/aimprotocol.cpp  
 M  +20 -13    icq/icqprotocol.cpp  


--- trunk/KDE/kdenetwork/kopete/protocols/oscar/aim/aimprotocol.cpp #643068:643069
 @ -163,7 +163,7  @
 		chooser->setMainWidget(accSelector);
 
 		int ret = chooser->exec();
-		Kopete::Account *account = accSelector->selectedItem();
+		account = accSelector->selectedItem();
 
 		delete chooser;
 		if (ret == QDialog::Rejected || account == 0)
 @ -176,6 +176,14  @
 	Kopete::MetaContact* mc = 0;
 	if ( needContactAddition || realCommand == "addbuddy" )
 	{
+		if ( !account->isConnected() )
+		{
+			kDebug(14152) << k_funcinfo << "Can't add contact, we are offline!" << endl;
+			KMessageBox::sorry( Kopete::UI::Global::mainWidget(), i18n("You need to be \
connected to be able to add contacts."), +			                    i18n("AIM") );
+			return;
+		}
+
 		if (KMessageBox::questionYesNo(Kopete::UI::Global::mainWidget(),
 		                               i18n("Do you want to add '%1' to your contact \
                list?", command),
 		                               QString::null, KGuiItem( i18n("Add") ), KGuiItem( \
i18n("Do Not Add") ))  @ -205,7 +213,7  @
 
 	}
 
-	if ( realCommand == "goim" )
+	if ( mc && realCommand == "goim" )
 	{
 		mc->execute();
 	}
--- trunk/KDE/kdenetwork/kopete/protocols/oscar/icq/icqprotocol.cpp #643068:643069
 @ -92,18 +92,6  @
 	if (accounts.count() == 1)
 	{
 		account = accounts.first();
-		QString nickuin = nick.isEmpty() ?
-			i18n("'%1'", uin) :
-			i18n("'%1' (%2)", nick, uin);
-
-		if (KMessageBox::questionYesNo(Kopete::UI::Global::mainWidget(),
-		                               i18n("Do you want to add %1 to your contact list?", \
                nickuin), QString::null,
-		                               KGuiItem( i18n("Add") ), KGuiItem( i18n("Do Not \
                Add") ))
-			!= KMessageBox::Yes)
-		{
-			kDebug(14153) << k_funcinfo << "Cancelled" << endl;
-			return;
-		}
 	}
 	else
 	{
 @ -116,7 +104,7  @
 		chooser->setMainWidget(accSelector);
 
 		int ret = chooser->exec();
-		Kopete::Account *account = accSelector->selectedItem();
+		account = accSelector->selectedItem();
 
 		delete chooser;
 		if (ret == QDialog::Rejected || account == 0)
 @ -126,7 +114,26  @
 		}
 	}
 
+	if (!account->isConnected())
+	{
+		kDebug(14153) << k_funcinfo << "Can't add contact, we are offline!" << endl;
+		KMessageBox::sorry( Kopete::UI::Global::mainWidget(), i18n("You must be online to \
add a contact."), i18n("ICQ") ); +		return;
+	}
 
+	QString nickuin = nick.isEmpty() ?
+		i18n("'%1'", uin) :
+		i18n("'%1' (%2)", nick, uin);
+
+	if (KMessageBox::questionYesNo(Kopete::UI::Global::mainWidget(),
+	                               i18n("Do you want to add %1 to your contact list?", \
nickuin), QString::null, +	                               KGuiItem( i18n("Add") ), \
KGuiItem( i18n("Do Not Add") )) +	    != KMessageBox::Yes)
+	{
+		kDebug(14153) << k_funcinfo << "Cancelled" << endl;
+		return;
+	}
+
 	kDebug(14153) << k_funcinfo <<
 		"Adding Contact; uin = " << uin << ", nick = '" << nick <<
 		"', firstname = '" << first << "', lastname = '" << last <<"'" << endl;
_______________________________________________
kopete-devel mailing list
kopete-devel@kde.org
https://mail.kde.org/mailman/listinfo/kopete-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic