Merge lp:~smspillaz/unity/unity.kindof_fix_977189 into lp:unity
Status: | Rejected |
---|---|
Rejected by: | Sam Spilsbury |
Proposed branch: | lp:~smspillaz/unity/unity.kindof_fix_977189 |
Merge into: | lp:unity |
Diff against target: |
77 lines (+13/-25) 1 file modified
plugins/unityshell/src/inputremover.cpp (+13/-25) |
To merge this branch: | bzr merge lp:~smspillaz/unity/unity.kindof_fix_977189 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Didier Roche-Tolomelli | Needs Fixing | ||
Review via email: mp+101482@code.launchpad.net |
Description of the change
== Problem ==
See bug 977189 - the nvidia driver seems to optimize away pixmaps backing windows that have no bounding shape set.
== Solution ==
Since we don't really need to remove the bounding shape unless a custom
bounding shape was set, we can fix this in 99% of cases by simply not
removing the bounding shape of the window when there is no custom bounding
shape set.
Note that this doesn't fix every case, namely chromium with client side decorations
is still broken.
The only thing I can think of for those cases is to snapshot windows with a custom
bounding shape and replace calls to glDrawTexture for those windows with the snapshotted
texture. This is a rather complicated operation though and will slow down minimization
for large windows.
== Tests ==
Covered by existing test progs.
build/tests/
Unmerged revisions
- 2265. By Sam Spilsbury
-
Kind of fix LP#977189
The nvidia driver seems to free the backing pixmap of the window whenever
its input shape is completely removed as an optimization. That causes windows
to go white.Since we don't really need to remove the bounding shape unless a custom
bounding shape was set, we can fix this in 99% of cases by simply not
removing the bounding shape of the window when there is no custom bounding
shape set
There is no test at all upstream for that. Sam, can you please add at least a manual test for it?