Skip to content
This repository has been archived by the owner on Feb 12, 2023. It is now read-only.

Commit

Permalink
fix(widget): do not block logout on Linux desktop environments v2
Browse files Browse the repository at this point in the history
Revert commit 191fc15 to use closeEvent()
but without QEvent::ignore() which blocked logout on various Linux desktops,
and without redundant hide(). Previous fix with hideEvent() produced
regressions because hide() is used in various places, which produced closing
behavior.

Since qApp->setQuitOnLastWindowClosed(false) is used, and
Qt::WA_DeleteOnClose is *NOT* used, default closeEvent() handling is enough
for implementing close-to-systray feature.

Improves fix for #1485 and closes #3699
  • Loading branch information
Talkless committed Sep 10, 2016
1 parent 7a98ea3 commit 6b00779
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions src/widget/widget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -568,11 +568,11 @@ void Widget::moveEvent(QMoveEvent *event)
QWidget::moveEvent(event);
}

void Widget::hideEvent(QHideEvent *event)
void Widget::closeEvent(QCloseEvent *event)
{
if (Settings::getInstance().getShowSystemTray() && Settings::getInstance().getCloseToTray())
{
QWidget::hideEvent(event);
QWidget::closeEvent(event);
}
else
{
Expand All @@ -583,7 +583,7 @@ void Widget::hideEvent(QHideEvent *event)
}
saveWindowGeometry();
saveSplitterGeometry();
QWidget::hideEvent(event);
QWidget::closeEvent(event);
qApp->quit();
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/widget/widget.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ public slots:
protected:
virtual bool eventFilter(QObject *obj, QEvent *event) final override;
virtual bool event(QEvent * e) final override;
virtual void hideEvent(QHideEvent *event) final override;
virtual void closeEvent(QCloseEvent *event) final override;
virtual void changeEvent(QEvent *event) final override;
virtual void resizeEvent(QResizeEvent *event) final override;
virtual void moveEvent(QMoveEvent *event) final override;
Expand Down

0 comments on commit 6b00779

Please sign in to comment.