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 <[email protected]> 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
_______________________________________________ Mailing list: https://launchpad.net/~compiz Post to : [email protected] Unsubscribe : https://launchpad.net/~compiz More help : https://help.launchpad.net/ListHelp

