compiz team mailing list archive
-
compiz team
-
Mailing list archive
-
Message #32240
lp:~smspillaz/compcomm-plugins-main/compcomm-plugins-main.fix_976469_abisafe into lp:~compiz/compcomm-plugins-main/ubuntu
Sam Spilsbury has proposed merging lp:~smspillaz/compcomm-plugins-main/compcomm-plugins-main.fix_976469_abisafe into lp:~compiz/compcomm-plugins-main/ubuntu.
Requested reviews:
compiz packagers (compiz)
For more details, see:
https://code.launchpad.net/~smspillaz/compcomm-plugins-main/compcomm-plugins-main.fix_976469_abisafe/+merge/102024
The fix for 976469 broke the ABI to compiz-plugins-extra, backed out the change and replaced it with an abi safe one.
--
https://code.launchpad.net/~smspillaz/compcomm-plugins-main/compcomm-plugins-main.fix_976469_abisafe/+merge/102024
Your team compiz packagers is requested to review the proposed merge of lp:~smspillaz/compcomm-plugins-main/compcomm-plugins-main.fix_976469_abisafe into lp:~compiz/compcomm-plugins-main/ubuntu.
=== modified file 'debian/changelog'
--- debian/changelog 2012-04-12 07:19:09 +0000
+++ debian/changelog 2012-04-15 02:35:33 +0000
@@ -1,3 +1,10 @@
+compiz-plugins-main (1:0.9.7.0~bzr19-0ubuntu11) precise; urgency=low
+
+ * debian/patches/fix_976469_abisafe.patch:
+ - Fixes LP #976469 without breaking the ABI
+
+ -- Sam Spilsbury <sam.spilsbury@xxxxxxxxxxxxx> Sun, 15 Apr 2012 10:30:33 +0800
+
compiz-plugins-main (1:0.9.7.0~bzr19-0ubuntu10) precise; urgency=low
[ Sam Spilsbury ]
=== added file 'debian/patches/fix_976469_abisafe.patch'
--- debian/patches/fix_976469_abisafe.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/fix_976469_abisafe.patch 2012-04-15 02:35:33 +0000
@@ -0,0 +1,201 @@
+=== modified file 'include/animation/animeffect.h'
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/animeffect.h
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/include/animation/animeffect.h 2012-04-15 10:19:55.521982268 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/animeffect.h 2012-04-15 10:22:03.390616343 +0800
+@@ -1,5 +1,6 @@
+ #ifndef ANIMATION_ANIMEFFECT_H
+ #define ANIMATION_ANIMEFFECT_H
++#include <map>
+ #include "animation.h"
+
+ typedef Animation *(*CreateAnimFunc) (CompWindow *w,
+@@ -94,7 +95,10 @@
+ inline CompString optValS (unsigned int optionId) { return optVal (optionId).s (); }
+ inline unsigned short *optValC (unsigned int optionId) { return optVal (optionId).c (); }
+
++
+ public:
++
++ static std::map <Animation *, bool> dRequiredTransformedWindowForAnim;
+
+ Animation (CompWindow *w,
+ WindowEvent curWindowEvent,
+@@ -172,8 +176,6 @@
+ return gWindow->glPaint (attrib, transform, region, mask);
+ }
+
+- virtual bool requiresTransformedWindow () const { return true; }
+-
+ /// Gets info about the (extension) plugin that implements this animation.
+ /// Should be overriden by a base animation class in every extension plugin.
+ virtual ExtensionPluginInfo *getExtensionPluginInfo ();
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/fade.h
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/include/animation/fade.h 2012-04-15 10:19:55.521982268 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/fade.h 2012-04-15 10:22:03.390616343 +0800
+@@ -14,7 +14,6 @@
+ void updateBB (CompOutput &output);
+ bool updateBBUsed () { return true; }
+ void updateAttrib (GLWindowPaintAttrib &wAttrib);
+- virtual bool requiresTransformedWindow () const { return false; }
+ virtual float getFadeProgress () { return progressLinear (); }
+ };
+ #endif
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/grid.h
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/include/animation/grid.h 2012-04-15 10:19:55.521982268 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/grid.h 2012-04-15 10:22:03.390616343 +0800
+@@ -82,8 +82,6 @@
+
+ virtual bool using3D () { return false; }
+
+- virtual bool requiresTransformedWindow () const { return true; }
+-
+ virtual void initGrid (); ///< Initializes grid width/height.
+ ///< Default grid size is 2x2.
+ ///< Override for custom grid size.
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/gridtransform.h
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/include/animation/gridtransform.h 2012-04-15 10:19:55.525982288 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/gridtransform.h 2012-04-15 10:22:03.394616357 +0800
+@@ -15,7 +15,6 @@
+ void updateTransform (GLMatrix &wTransform);
+ void updateBB (CompOutput &output);
+ bool updateBBUsed () { return true; }
+- bool requiresTransformedWindow () const { return true; }
+
+ protected:
+ bool mUsingTransform; ///< whether transform matrix is used (default: true)
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/transform.h
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/include/animation/transform.h 2012-04-15 10:19:55.525982288 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/include/animation/transform.h 2012-04-15 10:22:03.394616357 +0800
+@@ -29,7 +29,6 @@
+ virtual void adjustDuration () {}
+ virtual void applyTransform () {}
+ virtual Point getCenter ();
+- virtual bool requiresTransformedWindow () const { return true; }
+
+ };
+ #endif
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/src/animation.cpp
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/src/animation.cpp 2012-04-15 10:19:55.557982446 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/src/animation.cpp 2012-04-15 10:22:03.394616357 +0800
+@@ -86,6 +86,8 @@
+ #include <assert.h>
+ #include "private.h"
+
++std::map <Animation *, bool> Animation::dRequiredTransformedWindowForAnim;
++
+ using namespace compiz::core;
+
+ class AnimPluginVTable :
+@@ -455,10 +457,14 @@
+ PrivateAnimScreen *as = mAWindow->priv->paScreen ();
+
+ mTimestep = as->optionGetTimeStep ();
++
++ dRequiredTransformedWindowForAnim[this] = false;
+ }
+
+ Animation::~Animation ()
+ {
++ dRequiredTransformedWindowForAnim.erase (this);
++
+ delete texturesCache;
+ }
+
+@@ -1592,7 +1598,7 @@
+
+ //w->indexCount = 0; // TODO check if this is still necessary
+
+- if (mCurAnimation->requiresTransformedWindow ())
++ if (Animation::dRequiredTransformedWindowForAnim [mCurAnimation])
+ mask |= PAINT_WINDOW_TRANSFORMED_MASK;
+
+ wAttrib.xScale = 1.0f;
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/src/fade.cpp
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/src/fade.cpp 2012-02-10 11:58:25.000000000 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/src/fade.cpp 2012-04-15 10:22:03.398616371 +0800
+@@ -45,6 +45,7 @@
+ const CompRect &icon) :
+ Animation::Animation (w, curWindowEvent, duration, info, icon)
+ {
++ Animation::dRequiredTransformedWindowForAnim[this] = false;
+ }
+
+ void
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/src/private.h
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/src/private.h 2012-04-15 10:19:55.529982312 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/src/private.h 2012-04-15 10:22:03.398616371 +0800
+@@ -502,7 +502,6 @@
+ inline bool hasExtraTransform () { return true; }
+ void applyExtraTransform (float progress);
+ inline bool shouldAvoidParallelogramLook () { return true; }
+- bool requiresTransformedWindow () const { return true; }
+ };
+
+ class WaveAnim :
+@@ -519,7 +518,6 @@
+ void initGrid ();
+ inline bool using3D () { return true; }
+ void step ();
+- bool requiresTransformedWindow () const { return true; }
+
+ static const float kMinDuration;
+ };
+@@ -542,7 +540,6 @@
+ bool zoomToIcon ();
+ void applyTransform ();
+ float getFadeProgress ();
+- bool requiresTransformedWindow () const { return true; }
+
+ float getProgress ();
+ virtual void getParams (float *finalDistFac,
+@@ -762,7 +759,6 @@
+ void adjustDuration ();
+ float getFadeProgress ();
+ bool zoomToIcon ();
+- bool requiresTransformedWindow () const { return true; }
+
+ static const float kDurationFactor;
+ };
+@@ -780,7 +776,6 @@
+ inline bool using3D () { return true; }
+ float getFadeProgress ();
+ void updateWindowAttrib (GLWindowPaintAttrib &attrib);
+- bool requiresTransformedWindow () const { return true; }
+ };
+
+ class CurvedFoldAnim :
+@@ -802,7 +797,6 @@
+ float sinForProg,
+ float relDistToCenter,
+ float curveMaxAmp);
+- bool requiresTransformedWindow () const { return true; }
+ };
+
+ class HorizontalFoldsAnim :
+@@ -823,5 +817,4 @@
+ float sinForProg,
+ float relDistToFoldCenter,
+ float foldMaxAmp);
+- bool requiresTransformedWindow () const { return true; }
+ };
+Index: compiz-plugins-main-0.9.7.0~bzr19/animation/src/zoomside.cpp
+===================================================================
+--- compiz-plugins-main-0.9.7.0~bzr19.orig/animation/src/zoomside.cpp 2012-02-10 11:58:25.000000000 +0800
++++ compiz-plugins-main-0.9.7.0~bzr19/animation/src/zoomside.cpp 2012-04-15 10:22:03.398616371 +0800
+@@ -60,6 +60,8 @@
+ mIcon.setX (outRect.x () + outRect.width () / 2 - mIcon.width () / 2);
+ mIcon.setY (outRect.y () + outRect.height () / 2 - mIcon.height () / 2);
+ }
++
++ Animation::dRequiredTransformedWindowForAnim[this] = true;
+ }
+
+ SidekickAnim::SidekickAnim (CompWindow *w,
=== modified file 'debian/patches/series'
--- debian/patches/series 2012-04-10 08:32:19 +0000
+++ debian/patches/series 2012-04-15 02:35:33 +0000
@@ -11,3 +11,4 @@
fix_963767.patch
fix_976469.patch
fix_940603.patch
+fix_976469_abisafe.patch
Follow ups