[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

compiz-fusion-plugins-extra: Changes to 'debian-unstable'



 VERSION                       |    2 -
 debian/changelog              |    8 +++--
 src/fadedesktop/fadedesktop.c |    7 ++++
 src/gears/gears.c             |    3 +-
 src/group/tab.c               |   30 ++++++++++++---------
 src/reflex/reflex.c           |   59 ++++++++++++++++++++++++++++++------------
 src/showdesktop/showdesktop.c |    4 ++
 7 files changed, 80 insertions(+), 33 deletions(-)

New commits:
commit 268df63596a659bbe4a3770362646a207482ee42
Author: Sean Finney <seanius@debian.org>
Date:   Mon Dec 31 20:05:55 2007 +0100

    new upstream release, bugfix ref

diff --git a/debian/changelog b/debian/changelog
index 4262495..a8d49ca 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,12 @@
-compiz-fusion-plugins-extra (0.6.0-4) unstable; urgency=low
+compiz-fusion-plugins-extra (0.6.1-1) unstable; urgency=low
+
+  * New upstream release on the 0.6.0 branch.
 
   [Emilio Scalise]
   * Added missing build deps: librsvg2-dev, libcairo2-dev, libsm-dev,
-    libdbus-1-dev, libjpeg62-dev, libdecoration0-dev.
+    libdbus-1-dev, libjpeg62-dev, libdecoration0-dev (closes: #458159).
 
- -- Sean Finney <seanius@debian.org>  Fri, 21 Dec 2007 21:03:25 +0100
+ -- Sean Finney <seanius@debian.org>  Mon, 31 Dec 2007 20:03:44 +0100
 
 compiz-fusion-plugins-extra (0.6.0-3) unstable; urgency=low
 

commit bc88743627a7b439badd5fc83304119cdad32843
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Wed Dec 19 12:32:33 2007 +0100

    Rotate scene correctly in inside cube mode.

diff --git a/src/gears/gears.c b/src/gears/gears.c
index a86b65c..01104a5 100644
--- a/src/gears/gears.c
+++ b/src/gears/gears.c
@@ -282,7 +282,8 @@ gearsPaintInside (CompScreen              *s,
 
     ScreenPaintAttrib sA = *sAttrib;
 
-    sA.yRotate += (360.0f / size) * (cs->xRotations - (s->x * cs->nOutput));
+    sA.yRotate += cs->invert * (360.0f / size) *
+		  (cs->xRotations - (s->x * cs->nOutput));
 
     CompTransform mT = *transform;
 

commit 72af3c8620b783928a8d04a6342fff3d1fd7e8fc
Author: Danny Baumann <dannybaumann@web.de>
Date:   Mon Nov 5 13:22:29 2007 +0100

    Fix damaging of tab bars without slots.

diff --git a/src/group/tab.c b/src/group/tab.c
index 76eccb5..ea69527 100644
--- a/src/group/tab.c
+++ b/src/group/tab.c
@@ -2258,18 +2258,24 @@ groupDamageTabBarRegion (GroupSelection *group)
 
 #define DAMAGE_BUFFER 20
 
-	reg.extents.x1 = MIN (group->tabBar->region->extents.x1,
-						  group->tabBar->slots->region->extents.x1) -
-		             DAMAGE_BUFFER;
-	reg.extents.y1 = MIN (group->tabBar->region->extents.y1,
-						  group->tabBar->slots->region->extents.y1) -
-		             DAMAGE_BUFFER;
-	reg.extents.x2 = MAX (group->tabBar->region->extents.x2,
-						  group->tabBar->revSlots->region->extents.x2) +
-		             DAMAGE_BUFFER;
-	reg.extents.y2 = MAX (group->tabBar->region->extents.y2,
-						  group->tabBar->revSlots->region->extents.y2) +
-		             DAMAGE_BUFFER;
+	reg.extents = group->tabBar->region->extents;
+
+	if (group->tabBar->slots)
+	{
+		reg.extents.x1 = MIN (reg.extents.x1,
+							  group->tabBar->slots->region->extents.x1);
+		reg.extents.y1 = MIN (reg.extents.y1,
+							  group->tabBar->slots->region->extents.y1);
+		reg.extents.x2 = MAX (reg.extents.x2,
+							  group->tabBar->revSlots->region->extents.x2);
+		reg.extents.y2 = MAX (reg.extents.y2,
+							  group->tabBar->revSlots->region->extents.y2);
+	}
+
+    reg.extents.x1 -= DAMAGE_BUFFER;
+    reg.extents.y1 -= DAMAGE_BUFFER;
+    reg.extents.x2 += DAMAGE_BUFFER;
+    reg.extents.y2 += DAMAGE_BUFFER;
 
 	damageScreenRegion (group->screen, &reg);
 }

commit 6f563107825d292282788b8a580e45d3bf10d0a6
Author: Erkin Bahceci <erkinbah@gmail.com>
Date:   Sun Nov 4 21:20:14 2007 +0100

    Cache multiple fragment functions.
    Prevents recreating fragment functions when unit/param changes because of
    another plugin. If the other plugin paints fragment programs on only some
    windows, the issue becomes more visible and a new fragment function needs
    to be created possibly every frame without this patch.

diff --git a/src/reflex/reflex.c b/src/reflex/reflex.c
index 6d57e0c..e5706df 100644
--- a/src/reflex/reflex.c
+++ b/src/reflex/reflex.c
@@ -44,6 +44,8 @@ ReflexDisplay;
 
 typedef struct _ReflexFunction
 {
+    struct _ReflexFunction *next;
+
     int handle;
     int target;
     int param;
@@ -62,7 +64,7 @@ typedef struct _ReflexScreen
     unsigned int width;
     unsigned int height;
 
-    ReflexFunction function;
+    ReflexFunction *reflexFunctions;
 }
 ReflexScreen;
 
@@ -96,6 +98,7 @@ getReflexFragmentFunction (CompScreen  *s,
 			   int         param,
 			   int         unit)
 {
+    ReflexFunction   *function;
     CompFunctionData *data;
 
     REFLEX_SCREEN (s);
@@ -121,12 +124,11 @@ getReflexFragmentFunction (CompScreen  *s,
 	targetString = "RECT";
     }
 
-
-    if (rs->function.handle &&
-    	rs->function.param  == param  &&
-	rs->function.target == target &&
-	rs->function.unit   == unit)
-	return rs->function.handle;
+    for (function = rs->reflexFunctions; function; function = function->next)
+	if (function->param  == param  &&
+	    function->target == target &&
+	    function->unit   == unit)
+	    return function->handle;
 
     data = createFunctionData ();
 
@@ -163,15 +165,19 @@ getReflexFragmentFunction (CompScreen  *s,
 	    return 0;
 	}
 
-	handle = createFragmentFunction (s, "reflex", data);
+	function = malloc (sizeof (ReflexFunction));
+	if (function)
+	{
+	    handle = createFragmentFunction (s, "reflex", data);
 
-	if (rs->function.handle)
-	    destroyFragmentFunction (s, rs->function.handle);
+	    function->handle = handle;
+	    function->target = target;
+	    function->param  = param;
+	    function->unit   = unit;
 
-	rs->function.handle = handle;
-	rs->function.target = target;
-	rs->function.param  = param;
-	rs->function.unit   = unit;
+	    function->next = rs->reflexFunctions;
+	    rs->reflexFunctions = function;
+	}
 
 	destroyFunctionData (data);
 
@@ -348,6 +354,25 @@ reflexMatchPropertyChanged (CompDisplay *d,
     WRAP (rd, d, matchPropertyChanged, reflexMatchPropertyChanged);
 }
 
+static void
+reflexDestroyFragmentFunctions (CompScreen     *s,
+				ReflexFunction **reflexFunctions)
+{
+    ReflexFunction *function, *next;
+
+    function = *reflexFunctions;
+    while (function)
+    {
+	destroyFragmentFunction (s, function->handle);
+
+	next = function->next;
+	free (function);
+	function = next;
+    }
+
+    *reflexFunctions = NULL;
+}
+
 static Bool
 reflexInitDisplay (CompPlugin  *p,
 		   CompDisplay *d)
@@ -419,7 +444,7 @@ reflexInitScreen (CompPlugin *p,
 
     s->privates[rd->screenPrivateIndex].ptr = rs;
 
-    rs->function.handle = 0;
+    rs->reflexFunctions = NULL;
 
     WRAP (rs, s, drawWindowTexture, reflexDrawWindowTexture);
 
@@ -433,13 +458,12 @@ reflexFiniScreen (CompPlugin *p,
 {
     REFLEX_SCREEN (s);
 
+    reflexDestroyFragmentFunctions (s, &rs->reflexFunctions);
+
     freeWindowPrivateIndex (s, rs->windowPrivateIndex);
 
     UNWRAP (rs, s, drawWindowTexture);
 
-    if (rs->function.handle)
-	destroyFragmentFunction (s, rs->function.handle);
-
     free (rs);
 }
 

commit 19b6184c5db1e44edea8f0e689f57604a6436df2
Author: Erkin Bahceci <erkinbah@gmail.com>
Date:   Sun Nov 4 18:32:04 2007 +0100

    Fix fragment function leak.

diff --git a/src/reflex/reflex.c b/src/reflex/reflex.c
index ecc2945..6d57e0c 100644
--- a/src/reflex/reflex.c
+++ b/src/reflex/reflex.c
@@ -165,6 +165,9 @@ getReflexFragmentFunction (CompScreen  *s,
 
 	handle = createFragmentFunction (s, "reflex", data);
 
+	if (rs->function.handle)
+	    destroyFragmentFunction (s, rs->function.handle);
+
 	rs->function.handle = handle;
 	rs->function.target = target;
 	rs->function.param  = param;

commit 4ab8bfd507d51cad96887bdcef3de152e58fd90e
Author: Danny Baumann <dannybaumann@web.de>
Date:   Thu Nov 1 18:48:21 2007 +0100

    Don't showdesktop dock windows.

diff --git a/src/showdesktop/showdesktop.c b/src/showdesktop/showdesktop.c
index 6b5f35d..df14817 100644
--- a/src/showdesktop/showdesktop.c
+++ b/src/showdesktop/showdesktop.c
@@ -145,6 +145,10 @@ isSDWin (CompWindow *w)
     if (!matchEval (showdesktopGetWindowMatch (w->screen), w))
 	return FALSE;
 
+    if (w->wmType & (CompWindowTypeDesktopMask |
+		     CompWindowTypeDockMask))
+	return FALSE;
+
     if (w->state & CompWindowStateSkipPagerMask)
 	return FALSE;
 

commit 2fdd2614490504417e40fe32ee2d1ddb326fbe0e
Author: Danny Baumann <dannybaumann@web.de>
Date:   Thu Nov 1 18:47:22 2007 +0100

    Compare to real window type to also catch docks that have below state.

diff --git a/src/fadedesktop/fadedesktop.c b/src/fadedesktop/fadedesktop.c
index 2cce8a6..c3571b5 100644
--- a/src/fadedesktop/fadedesktop.c
+++ b/src/fadedesktop/fadedesktop.c
@@ -114,8 +114,8 @@ static Bool isFDWin(CompWindow *w)
 	if (!w->managed)
 		return FALSE;
 
-	if (w->type & (CompWindowTypeDesktopMask |
-		       CompWindowTypeDockMask))
+	if (w->wmType & (CompWindowTypeDesktopMask |
+			 CompWindowTypeDockMask))
 	    return FALSE;
 
 	if (w->state & CompWindowStateSkipPagerMask)

commit d789be6d4861fca60e0882581afe23997094995f
Author: Danny Baumann <dannybaumann@web.de>
Date:   Thu Nov 1 18:47:21 2007 +0100

    Don't touch docks and desktops as well as skip pager windows.

diff --git a/src/fadedesktop/fadedesktop.c b/src/fadedesktop/fadedesktop.c
index c81a75e..2cce8a6 100644
--- a/src/fadedesktop/fadedesktop.c
+++ b/src/fadedesktop/fadedesktop.c
@@ -114,6 +114,13 @@ static Bool isFDWin(CompWindow *w)
 	if (!w->managed)
 		return FALSE;
 
+	if (w->type & (CompWindowTypeDesktopMask |
+		       CompWindowTypeDockMask))
+	    return FALSE;
+
+	if (w->state & CompWindowStateSkipPagerMask)
+	    return FALSE;
+
 	if (!matchEval(fadedesktopGetWindowMatch(w->screen), w))
 		return FALSE;
 

commit b74289c973f788e27546705b12cffb990de129c5
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Sat Oct 20 22:09:03 2007 +0200

    * Bump VERSION to 0.6.1

diff --git a/VERSION b/VERSION
index de3b1c2..161c807 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.6.0
+VERSION=0.6.1


Reply to: