|
raveit |
6472905 |
Author: Travis Watkins <amaranth@ubuntu.com>
|
|
raveit |
6472905 |
Description: Always unredirect mate-screensaver when using nvidia
|
|
raveit |
6472905 |
Workaround for LP #160264 while still disabling unredirect fullscreen
|
|
raveit |
6472905 |
windows for nvidia users
|
|
raveit |
6472905 |
Origin: vendor, ubuntu (1:0.8.3+git20090917-0ubuntu4)
|
|
raveit |
6472905 |
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/160264
|
|
raveit |
6472905 |
--- a/src/paint.c
|
|
raveit |
6472905 |
+++ b/src/paint.c
|
|
raveit |
6472905 |
@@ -262,6 +262,7 @@ paintOutputRegion (CompScreen *sc
|
|
raveit |
6472905 |
CompTransform vTransform;
|
|
raveit |
6472905 |
int offX, offY;
|
|
raveit |
6472905 |
Region clip = region;
|
|
raveit |
6472905 |
+ int dontcare;
|
|
raveit |
6472905 |
|
|
raveit |
6472905 |
if (!tmpRegion)
|
|
raveit |
6472905 |
{
|
|
raveit |
6472905 |
@@ -341,8 +342,14 @@ paintOutputRegion (CompScreen *sc
|
|
raveit |
6472905 |
XSubtractRegion (tmpRegion, w->region, tmpRegion);
|
|
raveit |
6472905 |
|
|
raveit |
6472905 |
/* unredirect top most fullscreen windows. */
|
|
raveit |
6472905 |
+ /* if the fullscreen window is mate-screensaver and we're
|
|
raveit |
6472905 |
+ on nvidia we want to always unredirect even if this
|
|
raveit |
6472905 |
+ option is disabled to work around LP #160264 */
|
|
raveit |
6472905 |
if (count == 0 &&
|
|
raveit |
6472905 |
- screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b)
|
|
raveit |
6472905 |
+ (screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b ||
|
|
raveit |
6472905 |
+ (w->resName && !strcmp(w->resName, "mate-screensaver") &&
|
|
raveit |
6472905 |
+ XQueryExtension (screen->display->display, "NV-GLX",
|
|
raveit |
6472905 |
+ &dontcare, &dontcare, &dontcare))))
|
|
raveit |
6472905 |
{
|
|
raveit |
6472905 |
if (XEqualRegion (w->region, &screen->region) &&
|
|
raveit |
6472905 |
!REGION_NOT_EMPTY (tmpRegion))
|