summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Spilsbury <smspillaz@gmail.com>2010-08-13 06:53:52 +0800
committerSam Spilsbury <smspillaz@gmail.com>2010-08-13 06:53:52 +0800
commit1dae4808b2ab0b6b0dc7fae4270ee0b7c09697e2 (patch)
tree39092c7f7da13f4146e35932a979de27a2dc69a9
parente47d9c310b6b95fe57379a7c4f0f54bee9eaac6d (diff)
download3d-1dae4808b2ab0b6b0dc7fae4270ee0b7c09697e2.tar.gz
3d-1dae4808b2ab0b6b0dc7fae4270ee0b7c09697e2.tar.bz2
Fix other viewports not painting in "on rest" transparency.
Setting CubeScreen::paintAllViewports to false is a bit useless for us, since we don't need to be concerned with what is painting all viewports, since we aren't actually painting them ourselves. If we are enabled, request that it be done, otherwise leave it alone.
-rw-r--r--src/3d.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/3d.cpp b/src/3d.cpp
index d60f395..9cbccc8 100644
--- a/src/3d.cpp
+++ b/src/3d.cpp
@@ -12,6 +12,11 @@ setFunctions (bool enabled)
tds->cScreen->donePaintSetEnabled (tds, enabled);
tds->cubeScreen->cubePaintViewportSetEnabled (tds, enabled);
tds->cubeScreen->cubeShouldPaintViewportSetEnabled (tds, enabled);
+
+ if (enabled)
+ fprintf (stderr, "enabled\n");
+ else
+ fprintf (stderr, "nope!\n");
foreach (CompWindow *w, screen->windows ())
{
@@ -90,8 +95,9 @@ TdScreen::preparePaint (int msSinceLastPaint)
cScreen->preparePaint (msSinceLastPaint);
- setFunctions (mActive);
- cs->paintAllViewports (mActive);
+ setFunctions (mActive);
+ if (mActive)
+ cs->paintAllViewports (true);
}
#define DOBEVEL(corner) (tds->optionGetBevel##corner () ? bevel : 0)