summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorSam Spilsbury <smspillaz@gmail.com>2010-08-17 04:48:50 +0800
committerSam Spilsbury <smspillaz@gmail.com>2010-08-17 04:48:50 +0800
commit97bf10b86c6c9c6213755c598fe96a18f6a72732 (patch)
treeebecdcfa543972951d06d136276000456f746c16 /src/window.cpp
parentadc0285337c6f348e040cdf379e66a205249bc66 (diff)
downloadunity-window-decorator-97bf10b86c6c9c6213755c598fe96a18f6a72732.tar.gz
unity-window-decorator-97bf10b86c6c9c6213755c598fe96a18f6a72732.tar.bz2
Revert "Revert "Keep pixmaps of unmapped windows around if they are used for animations.""
This reverts commit e37b87173812da4af24c480a1adc9f8075a05e98.
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/window.cpp b/src/window.cpp
index 61a98c2..c1cbce3 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -1444,8 +1444,19 @@ CompWindow::resize (CompWindow::Geometry gm)
priv->attrib.width, priv->attrib.height,
priv->attrib.border_width);
- priv->width = pw;
- priv->height = ph;
+ if (!priv->mapNum && priv->unmapRefCnt > 0 &&
+ priv->attrib.map_state == IsViewable)
+ {
+ /* keep old pixmap for windows that are unmapped on the client side,
+ * but not yet on our side as it's pretty likely that plugins are
+ * currently using it for animations
+ */
+ }
+ else
+ {
+ priv->width = pw;
+ priv->height = ph;
+ }
if (priv->mapNum)
priv->updateRegion ();