Merge lp://qastaging/~compiz-team/compiz/compiz.fix_1195522 into lp://qastaging/compiz/0.9.10
Status: | Merged |
---|---|
Approved by: | Brandon Schaefer |
Approved revision: | 3755 |
Merged at revision: | 3751 |
Proposed branch: | lp://qastaging/~compiz-team/compiz/compiz.fix_1195522 |
Merge into: | lp://qastaging/compiz/0.9.10 |
Diff against target: |
2357 lines (+758/-645) 24 files modified
.bzrignore (+1/-0) plugins/decor/src/decor.cpp (+47/-132) plugins/decor/src/decor.h (+5/-1) plugins/decor/tests/acceptance/xorg-gtest/CMakeLists.txt (+1/-1) plugins/decor/tests/acceptance/xorg-gtest/compiz_decor_acceptance_tests.cpp (+74/-212) plugins/move/src/move.cpp (+19/-9) plugins/opengl/src/paint.cpp (+1/-1) plugins/place/src/constrain-to-workarea/include/constrain-to-workarea.h (+3/-6) plugins/place/src/constrain-to-workarea/src/constrain-to-workarea.cpp (+25/-49) plugins/place/src/constrain-to-workarea/tests/constrain-to-workarea/src/test-place-constrain-to-workarea.cpp (+4/-57) plugins/place/src/place.cpp (+15/-16) src/event.cpp (+7/-2) src/plugin.cpp (+15/-2) src/plugin/tests/test-plugin.cpp (+40/-0) src/window.cpp (+71/-58) src/window/extents/src/windowextents.cpp (+10/-0) tests/manual/README.txt (+9/-0) tests/manual/plugins/decor.txt (+40/-0) tests/system/xorg-gtest/tests/compiz_xorg_gtest_configure_window.cpp (+91/-73) tests/xorg-gtest/CMakeLists.txt (+2/-1) tests/xorg-gtest/include/compiz-xorg-gtest.h (+79/-3) tests/xorg-gtest/plugins/testhelper/src/testhelper.cpp (+5/-8) tests/xorg-gtest/src/compiz-xorg-gtest-config.h.in (+2/-1) tests/xorg-gtest/src/compiz-xorg-gtest.cpp (+192/-13) |
To merge this branch: | bzr merge lp://qastaging/~compiz-team/compiz/compiz.fix_1195522 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
MC Return | Approve | ||
Brandon Schaefer (community) | Approve | ||
Andrea Azzarone | Pending | ||
Compiz Maintainers | Pending | ||
Review via email:
|
Commit message
Unrevert 3728, fix failing tests.
Change the behaviour of undecorating windows.
Previously when a window was undecorated, we would shift it back to an appropriate position according to its gravity member. That behaviour was problematic because in the StaticGravity case the window has to just stay in the same place. But then if you had a window with StaticGravity which then did get a decoration and later removed it, it would be placed as though it was decorated and appear to be in the wrong place.
The correct behaviour is to place all windows as though they have decorations, and then when decorations are removed, to move the window back to the corner as indicated in its gravity and then expand its size to cover the obscured regions no longer hidden because the decorations went away.
(LP: #1165343).
1. Completely remove decorOffsetMove and other related code from
decor.cpp. Put the logic to handle the window->input () - window->border ()
placement offset inside of setWindowFrameE
will always be offset from its original non-decorated position to the new
decorated position, rather than having to guess between decoration sizes.
2. Make saveGeometry and restoreGeometry work relative to window->border ()
as opposed to including it in the saved geometry. It is possible that the
border size might change during maximization, as such, we don't want to
save the position with the border before maximizing. Instead save the position
as if it were never decorated so that when the window is restored it can be
restored to its original position and then adjusted for its new border size.
3. Fix a few typoes in the tests.
4. Moved some commonly used matchers into compiz::testing
5. Make COMPIZ_PLUGIN_DIR accept multiple directories and look in each one
of them for the plugin
6. Set COMPIZ_PLUGIN_DIR appropriately for each plugin that we wish to load
on startup so that we load locally built plugins as opposed to installed
ones.
7. Uncomment compiz_
run by default.
(LP: #1195522)
Description of the change
Unrevert 3728, fix failing tests.
Change the behaviour of undecorating windows.
Previously when a window was undecorated, we would shift it back to an appropriate position according to its gravity member. That behaviour was problematic because in the StaticGravity case the window has to just stay in the same place. But then if you had a window with StaticGravity which then did get a decoration and later removed it, it would be placed as though it was decorated and appear to be in the wrong place.
The correct behaviour is to place all windows as though they have decorations, and then when decorations are removed, to move the window back to the corner as indicated in its gravity and then expand its size to cover the obscured regions no longer hidden because the decorations went away.
(LP: #1165343).
1. Completely remove decorOffsetMove and other related code from
decor.cpp. Put the logic to handle the window->input () - window->border ()
placement offset inside of setWindowFrameE
will always be offset from its original non-decorated position to the new
decorated position, rather than having to guess between decoration sizes.
2. Make saveGeometry and restoreGeometry work relative to window->border ()
as opposed to including it in the saved geometry. It is possible that the
border size might change during maximization, as such, we don't want to
save the position with the border before maximizing. Instead save the position
as if it were never decorated so that when the window is restored it can be
restored to its original position and then adjusted for its new border size.
3. Fix a few typoes in the tests.
4. Moved some commonly used matchers into compiz::testing
5. Make COMPIZ_PLUGIN_DIR accept multiple directories and look in each one
of them for the plugin
6. Set COMPIZ_PLUGIN_DIR appropriately for each plugin that we wish to load
on startup so that we load locally built plugins as opposed to installed
ones.
7. Uncomment compiz_
run by default.
(LP: #1195522)
368 + int GetEventMask ();
Const?
The following tests FAILED: WindowAcceptanc e.MaximizeBorde rExtentsOnMaxim ize (Failed) WindowAcceptanc e.MaximizeBorde rExtentsOnVertM aximize (Failed) WindowAcceptanc e.MaximizeBorde rExtentsOnHorzM aximize (Failed) WindowAcceptanc e.MaximizeFrame WindowSizeEqOut putSize (Failed) WindowAcceptanc e.VertMaximizeF rameWindowSizeE qOutputYHeight (Failed) WindowAcceptanc e.HorzMaximizeF rameWindowSizeE qOutputXWidth (Failed) WindowAcceptanc e.VertMaximizeF rameWindowSizeS ameXWidth (Failed) WindowAcceptanc e.HorzMaximizeF rameWindowSizeS ameYHeight (Failed) WindowAcceptanc e.UndecoratedWi ndowExpandToOri gSize (Failed) WindowAcceptanc e.UndecorateSta ticGravityWindo w (Failed)
1481 - PixmapDecorated
1482 - PixmapDecorated
1483 - PixmapDecorated
1484 - PixmapDecorated
1485 - PixmapDecorated
1486 - PixmapDecorated
1487 - PixmapDecorated
1488 - PixmapDecorated
1489 - PixmapDecorated
1490 - PixmapDecorated
Note this is just with a compiled branch...though it shoudn't depend on if I have the branch running or not if they are unit tests.
Start 1451: AdjustmentExten ts/PixmapDecora tionAdjustment. AdjustRestoredW indowBorderShri nkClient/ 0
This test hangs sometimes forever. (At lease as far as im willing to let it sit :)
Start 1485: PixmapDecorated WindowAcceptanc e.VertMaximizeF rameWindowSizeE qOutputYHeight
Then this wont hung...as well as some others :)...not entirely sure why.
Still have some more reviewing to go :)