Skip to content

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(). Using previous fix with hideEvent() produced
regresions because hide() is used in various places, which produced closing
behaviour.

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 qTox#1485 and closes qTox#3699
  • Loading branch information
Talkless committed Sep 10, 2016
1 parent 7a98ea3 commit 78b0a15
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 78b0a15

Please sign in to comment.