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
Browse files Browse the repository at this point in the history
Change closeEvent() to hideEvent() for handling main window closing.
Close event is no longer ignored, which prevented logging out from
various Linux desktop environments.

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

void Widget::closeEvent(QCloseEvent *event)
void Widget::hideEvent(QHideEvent *event)
{
if (Settings::getInstance().getShowSystemTray() && Settings::getInstance().getCloseToTray())
{
event->ignore();
this->hide();
QWidget::hideEvent(event);
}
else
{
Expand All @@ -584,7 +583,7 @@ void Widget::closeEvent(QCloseEvent *event)
}
saveWindowGeometry();
saveSplitterGeometry();
QWidget::closeEvent(event);
QWidget::hideEvent(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 closeEvent(QCloseEvent *event) final override;
virtual void hideEvent(QHideEvent *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 7ee883b

Please sign in to comment.