| Summary: | keepInArea does not work if window dimensions match the area dimensions | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Alexander Mezin <mezin.alexander> |
| Component: | core | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 4.10.1 | ||
| Target Milestone: | 4.10.2 | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | http://commits.kde.org/kde-workspace/328775331c11f288d819491b95d5af8ee9e70cf8 | Version Fixed/Implemented In: | 4.10.2 |
| Sentry Crash Report: | |||
|
Description
Alexander Mezin
2013-03-20 09:12:52 UTC
Bug in Client::keepInArea()
- if (geometry().right() > area.right() && width() < area.width())
+ if (geometry().right() > area.right() && width() <= area.width())
move(area.right() - width() + 1, y());
- if (geometry().bottom() > area.bottom() && height() < area.height())
+ if (geometry().bottom() > area.bottom() && height() <= area.height())
move(x(), area.bottom() - height() + 1);
Seems that "+ 1" is wrong too Oh, sorry, "by historical reasons" bottom = top + height - 1, and the same for "right", according to qt documentation, so everything's right. Git commit 380bdf0c567ed98316b208652162fb55c9420145 by Thomas Lübking. Committed on 20/03/2013 at 20:19. Pushed by luebking into branch 'KDE/4.10'. catch maximized windows in ::keepInArea FIXED-IN: 4.10.2 M +2 -2 kwin/geometry.cpp http://commits.kde.org/kde-workspace/380bdf0c567ed98316b208652162fb55c9420145 Git commit 328775331c11f288d819491b95d5af8ee9e70cf8 by Thomas Lübking. Committed on 20/03/2013 at 20:19. Pushed by luebking into branch 'master'. catch maximized windows in ::keepInArea FIXED-IN: 4.10.2 M +2 -2 kwin/geometry.cpp http://commits.kde.org/kde-workspace/328775331c11f288d819491b95d5af8ee9e70cf8 |