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

Loading…
Cancel
Save