Cover the fix/WA for Linux #1595 behind compile time flags & comment.

This commit is contained in:
Joan Bruguera 2018-03-11 14:05:07 +01:00 committed by TheZ3ro
parent 467867016d
commit bf9c1b3205
2 changed files with 13 additions and 0 deletions

View File

@ -971,6 +971,12 @@ void MainWindow::trayIconTriggered(QSystemTrayIcon::ActivationReason reason)
void MainWindow::hideWindow() void MainWindow::hideWindow()
{ {
saveWindowInformation(); saveWindowInformation();
#ifndef Q_OS_LINUX
// On some Linux systems, the window should NOT be minimized and hidden (i.e. not shown), at
// the same time (which would happen if both minimize on startup and minimize to tray are set)
// since otherwise it causes problems on restore as seen on issue #1595. Hiding it is enough.
setWindowState(windowState() | Qt::WindowMinimized);
#endif
QTimer::singleShot(0, this, SLOT(hide())); QTimer::singleShot(0, this, SLOT(hide()));
if (config()->get("security/lockdatabaseminimize").toBool()) { if (config()->get("security/lockdatabaseminimize").toBool()) {

View File

@ -127,7 +127,14 @@ int main(int argc, char** argv)
// start minimized if configured // start minimized if configured
bool minimizeOnStartup = config()->get("GUI/MinimizeOnStartup").toBool(); bool minimizeOnStartup = config()->get("GUI/MinimizeOnStartup").toBool();
bool minimizeToTray = config()->get("GUI/MinimizeToTray").toBool(); bool minimizeToTray = config()->get("GUI/MinimizeToTray").toBool();
#ifndef Q_OS_LINUX
if (minimizeOnStartup) {
#else
// On some Linux systems, the window should NOT be minimized and hidden (i.e. not shown), at
// the same time (which would happen if both minimize on startup and minimize to tray are set)
// since otherwise it causes problems on restore as seen on issue #1595. Hiding it is enough.
if (minimizeOnStartup && !minimizeToTray) { if (minimizeOnStartup && !minimizeToTray) {
#endif
mainWindow.setWindowState(Qt::WindowMinimized); mainWindow.setWindowState(Qt::WindowMinimized);
} }
if (!(minimizeOnStartup && minimizeToTray)) { if (!(minimizeOnStartup && minimizeToTray)) {