diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp index 515a7de78..9a745e26a 100644 --- a/src/gui/generalsettings.cpp +++ b/src/gui/generalsettings.cpp @@ -100,6 +100,7 @@ GeneralSettings::GeneralSettings(QWidget *parent) : GeneralSettings::~GeneralSettings() { delete _ui; + delete _syncLogDialog; } QSize GeneralSettings::sizeHint() const { @@ -157,9 +158,12 @@ void GeneralSettings::slotToggleOptionalDesktopNotifications(bool enable) void GeneralSettings::slotOpenSyncLog() { + // the protocolwidget is connected to the ProgressDispatcher ot collect + // notifications also in case the logwindow is not visible. It is passed + // here to the LogDialog constructor which is not destroyed once created + // except in the destructor here. if (_syncLogDialog.isNull()) { - _syncLogDialog = new SyncLogDialog(this, _protocolWidget); - _syncLogDialog->setAttribute( Qt::WA_DeleteOnClose, true ); + _syncLogDialog = new SyncLogDialog(0, _protocolWidget); _syncLogDialog->open(); } else { ownCloudGui::raiseDialog(_syncLogDialog); diff --git a/src/gui/synclogdialog.cpp b/src/gui/synclogdialog.cpp index d7b872089..d6e2c8b82 100644 --- a/src/gui/synclogdialog.cpp +++ b/src/gui/synclogdialog.cpp @@ -30,7 +30,6 @@ SyncLogDialog::SyncLogDialog(QWidget *parent, ProtocolWidget *protoWidget) : QDialog(parent), _ui(new Ui::SyncLogDialog) { - setAttribute(Qt::WA_DeleteOnClose); setObjectName("SyncLogDialog"); // required as group for saveGeometry call _ui->setupUi(this);