diff --git a/frame/util/multiscreenworker.cpp b/frame/util/multiscreenworker.cpp index 3764127a9..b93cb08f6 100644 --- a/frame/util/multiscreenworker.cpp +++ b/frame/util/multiscreenworker.cpp @@ -988,14 +988,14 @@ void MultiScreenWorker::displayAnimation(const QString &screen, const Position & switch (act) { case AniAction::Show: if (pos == Position::Top || pos == Position::Bottom) { - if (dockShowRect.height() > mainwindowRect.height() - 2 - && dockShowRect.height() < mainwindowRect.height() + 2) { + if (qAbs(dockShowRect.height() - mainwindowRect.height()) <= 1 + && mainwindowRect.contains(dockShowRect.center())) { emit requestNotifyWindowManager(); return; } } else if (pos == Position::Left || pos == Position::Right) { - if (dockShowRect.width() > mainwindowRect.width() - 2 - && dockShowRect.width() < mainwindowRect.width() + 2) { + if (qAbs(dockShowRect.width() - mainwindowRect.width()) <= 1 + && mainwindowRect.contains(dockShowRect.center())) { emit requestNotifyWindowManager(); return; }