Browse Source

fix(systemtrayicon): only delete the systray backend that was used

Fixes qTox not closing cleanly after
4fd0446f96
pull/3137/head
sudden6 9 years ago
parent
commit
1d6f32c9f9
  1. 28
      src/widget/systemtrayicon.cpp

28
src/widget/systemtrayicon.cpp

@ -99,19 +99,33 @@ SystemTrayIcon::SystemTrayIcon()
SystemTrayIcon::~SystemTrayIcon() SystemTrayIcon::~SystemTrayIcon()
{ {
delete qtIcon; // only delete the used backend
switch(backendType)
{
case SystrayBackendType::Qt:
delete qtIcon;
break;
#ifdef ENABLE_SYSTRAY_UNITY_BACKEND #ifdef ENABLE_SYSTRAY_UNITY_BACKEND
delete unityIndicator; case SystrayBackendType::Unity:
delete unityMenu; delete unityIndicator;
delete unityMenu;
break;
#endif #endif
#ifdef ENABLE_SYSTRAY_STATUSNOTIFIER_BACKEND #ifdef ENABLE_SYSTRAY_STATUSNOTIFIER_BACKEND
delete statusNotifier; case SystrayBackendType::StatusNotifier:
delete snMenu; delete statusNotifier;
delete snMenu;
break;
#endif #endif
#ifdef ENABLE_SYSTRAY_GTK_BACKEND #ifdef ENABLE_SYSTRAY_GTK_BACKEND
delete gtkIcon; case SystrayBackendType::GTK:
delete gtkMenu; delete gtkIcon;
delete gtkMenu;
break;
#endif #endif
default:
qWarning() << "Unknown Systray Backend Type";
}
qDebug() << "Deleting SystemTrayIcon"; qDebug() << "Deleting SystemTrayIcon";
} }

Loading…
Cancel
Save