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, ®);
}
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: