← Back to team overview

compiz team mailing list archive

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