fixed crash

This commit is contained in:
Patrick von Reth 2012-01-28 15:35:15 +01:00
parent dc34eda1d7
commit cc6efbc6da
2 changed files with 19 additions and 15 deletions

View File

@ -36,8 +36,10 @@ Growl_Backend::Growl_Backend():
}
Growl_Backend::~Growl_Backend(){
foreach(Application *a,this->snore()->aplications().values()){
unregisterApplication(a);
if(snore()!=NULL){
foreach(Application *a,this->snore()->aplications().values()){
unregisterApplication(a);
}
}
}

View File

@ -44,22 +44,24 @@ Snarl_Backend::Snarl_Backend():
Snarl_Backend::~Snarl_Backend()
{
foreach(Application *a,this->snore()->aplications().values()){
unregisterApplication(a);
if(snore()!=NULL){
foreach(Application *a,this->snore()->aplications().values()){
unregisterApplication(a);
}
}
delete _defautSnarlinetrface;
delete m_defautSnarlinetrface;
}
bool Snarl_Backend::init(SnoreServer *snore){
winIDWidget = new SnarlWidget(this);
SnarlInterface *snarlInterface = new SnarlInterface();
_applications.insert("SnoreNotify",snarlInterface);
qDebug()<<"Initiating Snarl Backend, Snarl version: "<<snarlInterface->GetVersion();
_defautSnarlinetrface = new SnarlInterface();
bool Snarl_Backend::init(SnoreServer *snore){
winIDWidget = new SnarlWidget(this);
SnarlInterface *snarlInterface = new SnarlInterface();
_applications.insert("SnoreNotify",snarlInterface);
qDebug()<<"Initiating Snarl Backend, Snarl version: "<<snarlInterface->GetVersion();
m_defautSnarlinetrface = new SnarlInterface();
return Notification_Backend::init(snore);
}
return Notification_Backend::init(snore);
}
void Snarl_Backend::registerApplication(Application *application){
SnarlInterface *snarlInterface = NULL;
@ -101,7 +103,7 @@ uint Snarl_Backend::notify(Notification notification){
if(snarlInterface == NULL){
qDebug()<<notification.application()<<"not in snarl interfaces, defaulting";
qDebug()<<_applications.keys();
snarlInterface = _defautSnarlinetrface;
snarlInterface = m_defautSnarlinetrface;
}
uint id = notification.id();
@ -136,7 +138,7 @@ uint Snarl_Backend::notify(Notification notification){
}
void Snarl_Backend::closeNotification(Notification notification){
_defautSnarlinetrface->Hide(notification.id());
m_defautSnarlinetrface->Hide(notification.id());
activeNotifications.remove(notification.id());
}