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

compiz-fusion-bcop: Changes to 'debian-unstable'



 VERSION                      |    2 
 bcopconvert/bcopconvert.xslt |  323 ---------------------------------
 debian/changelog             |    6 
 debian/rules                 |    1 
 src/bcop.xslt                |  418 ++++++++++++++++++++++++++-----------------
 5 files changed, 261 insertions(+), 489 deletions(-)

New commits:
commit 1f7890f77749d69e5bc6976c65ef20181da6d208
Author: Sean Finney <seanius@debian.org>
Date:   Mon May 19 19:50:57 2008 +0200

    clean up some more autocruft

diff --git a/debian/rules b/debian/rules
index 157bfd7..23da5d0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -22,6 +22,7 @@ clean:
 	rm -f build-stamp configure-stamp
 	[ ! -e Makefile ] || $(MAKE) distclean
 	rm -rf Makefile.in aclocal.m4 config.h.in configure src/Makefile.in
+	rm -f install-sh missing
 	dh_clean 
 
 install: build

commit e0229dd3c7af6763344ae90f3d4caf406a84f23f
Author: Sean Finney <seanius@debian.org>
Date:   Mon May 19 19:49:18 2008 +0200

    new upstream release

diff --git a/debian/changelog b/debian/changelog
index e5b3d0a..7bbab72 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+compiz-fusion-bcop (0.7.4-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Sean Finney <seanius@debian.org>  Mon, 19 May 2008 19:48:56 +0200
+
 compiz-fusion-bcop (0.6.0-1) unstable; urgency=low
 
   * Initial release (Closes: #431756).

commit 080ee3f1ae6fe4bd00688e3f30460859f73d847b
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Fri Apr 4 00:17:20 2008 +0200

    * Bump version to 0.7.4

diff --git a/VERSION b/VERSION
index a48124b..8eafcce 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.7.3
+VERSION=0.7.4

commit 144f609c556d6947182f3295ea03bc1d924e46aa
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Wed Mar 19 18:22:02 2008 +0100

    Fixed generic private defines.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index 792ad73..8f169d6 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1422,7 +1422,7 @@ CompPluginVTable * getCompPluginInfo (void);
 #define PLUGIN_SCREEN(object, plugin, prefix) \
     plugin##Screen * prefix##s = \
 	GET_PLUGIN_SCREEN (object, \
-	GET_PLUGIN_DISPLAY (s->display, plugin), plugin)
+	GET_PLUGIN_DISPLAY ((object)->display, plugin), plugin)
 
 #define GET_PLUGIN_WINDOW(object, parent, plugin) \
     ((plugin##Window *) \
@@ -1430,8 +1430,8 @@ CompPluginVTable * getCompPluginInfo (void);
 #define PLUGIN_WINDOW(object, plugin, prefix) \
     plugin##Window * prefix##w = \
 	GET_PLUGIN_WINDOW  (object, \
-	GET_PLUGIN_SCREEN  (w->screen, \
-	GET_PLUGIN_DISPLAY (w->screen->display, plugin), plugin), plugin)
+	GET_PLUGIN_SCREEN  ((object)->screen, \
+	GET_PLUGIN_DISPLAY ((object)->screen->display, plugin), plugin), plugin)
 
 #endif
 

commit e56989fb493c200c75a0aa71705cfcc281dc62ee
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Wed Mar 19 15:20:44 2008 +0100

    Use generic private defines.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index 5c3e742..792ad73 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -208,7 +208,9 @@
         <xsl:value-of select="$filename"/>
         <xsl:text>"
 
-static int displayPrivateIndex;
+static int </xsl:text>
+       <xsl:value-of select="$Plugin"/>
+       <xsl:text>OptionsDisplayPrivateIndex;
 
 static CompMetadata </xsl:text>
         <xsl:value-of select="$plugin"/>
@@ -221,39 +223,16 @@ CompPluginVTable </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>OptionsVTable;
 
-#define GET_</xsl:text>
-        <xsl:value-of select="$PLUGIN"/>
-        <xsl:text>_OPTIONS_DISPLAY(d) \
-        ((</xsl:text>
-        <xsl:value-of select="$Plugin"/>
-        <xsl:text>OptionsDisplay *) (d)->base.privates[displayPrivateIndex].ptr)
-
 #define </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
-        <xsl:text>_OPTIONS_DISPLAY(d) \
-        </xsl:text>
+        <xsl:text>_OPTIONS_DISPLAY(d) PLUGIN_DISPLAY(d, </xsl:text>
         <xsl:value-of select="$Plugin"/>
-        <xsl:text>OptionsDisplay *od = GET_</xsl:text>
-        <xsl:value-of select="$PLUGIN"/>
-        <xsl:text>_OPTIONS_DISPLAY (d)
-
-#define GET_</xsl:text>
-        <xsl:value-of select="$PLUGIN"/>
-        <xsl:text>_OPTIONS_SCREEN(s, od) \
-        ((</xsl:text>
-        <xsl:value-of select="$Plugin"/>
-        <xsl:text>OptionsScreen *) (s)->base.privates[(od)->screenPrivateIndex].ptr)
-
+        <xsl:text>Options, o)
 #define </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
-        <xsl:text>_OPTIONS_SCREEN(s) \
-        </xsl:text>
+        <xsl:text>_OPTIONS_SCREEN(s) PLUGIN_SCREEN(s, </xsl:text>
         <xsl:value-of select="$Plugin"/>
-        <xsl:text>OptionsScreen *os = GET_</xsl:text>
-        <xsl:value-of select="$PLUGIN"/>
-        <xsl:text>_OPTIONS_SCREEN (s, GET_</xsl:text>
-        <xsl:value-of select="$PLUGIN"/>
-        <xsl:text>_OPTIONS_DISPLAY (s->display))
+        <xsl:text>Options, o)
 
 typedef struct _</xsl:text>
         <xsl:value-of select="$Plugin"/>
@@ -1025,7 +1004,9 @@ static void </xsl:text>
         return FALSE;
     }
 
-    d->base.privates[displayPrivateIndex].ptr = od;
+    d->base.privates[</xsl:text>
+    <xsl:value-of select="$Plugin"/>
+    <xsl:text>OptionsDisplayPrivateIndex].ptr = od;
 
     </xsl:text>
         <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
@@ -1098,8 +1079,12 @@ static void </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>OptionsInit (CompPlugin *p)
 {
-    displayPrivateIndex = allocateDisplayPrivateIndex();
-    if (displayPrivateIndex &lt; 0)
+    </xsl:text>
+    <xsl:value-of select="$Plugin"/>
+    <xsl:text>OptionsDisplayPrivateIndex = allocateDisplayPrivateIndex();
+    if (</xsl:text>
+    <xsl:value-of select="$Plugin"/>
+    <xsl:text>OptionsDisplayPrivateIndex &lt; 0)
         return FALSE;
 
     if (!compInitPluginMetadataFromInfo (&amp;</xsl:text>
@@ -1161,8 +1146,12 @@ static void </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>PluginVTable->fini (p);
 
-    if (displayPrivateIndex >= 0)
-        freeDisplayPrivateIndex(displayPrivateIndex);
+    if (</xsl:text>
+        <xsl:value-of select="$Plugin"/>
+        <xsl:text>OptionsDisplayPrivateIndex >= 0)
+        freeDisplayPrivateIndex (</xsl:text>
+        <xsl:value-of select="$Plugin"/>
+        <xsl:text>OptionsDisplayPrivateIndex);
 
     compFiniMetadata (&amp;</xsl:text>
         <xsl:value-of select="$plugin"/>

commit e2f7d6399689819bbce2630d53d3df0ab8bf0ab0
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Wed Mar 19 14:57:44 2008 +0100

    Whitespace fix

diff --git a/src/bcop.xslt b/src/bcop.xslt
index 8a747df..5c3e742 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1701,7 +1701,7 @@ void             </xsl:text>
             <xsl:value-of select="$plugin"/>
             <xsl:call-template name="screenOrDisplay"/>
             <xsl:text>OptionChangeNotifyProc notify);
-            
+
 </xsl:text>
         </xsl:for-each>
     </xsl:template>

commit 9399068ea6acb6e5e6d78f6dc51b590acdcc999b
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Wed Mar 19 14:56:07 2008 +0100

    Generate generic plugin privates defines.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index d5b134d..8a747df 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1413,7 +1413,40 @@ CompPluginVTable * getCompPluginInfo (void);
         <xsl:call-template name="printOptionEnums"/>
         <xsl:call-template name="printOptionMasks"/>
         <xsl:call-template name="printFunctionDefinitions"/>
-        <xsl:text>COMPIZ_END_DECLS
+        <xsl:text>#ifndef GENERIC_PRIVATE_DEFINES
+#define GENERIC_PRIVATE_DEFINES
+
+#define GET_PLUGIN_CORE(object, plugin) \
+    ((plugin##Core *) (object)->base.privates[plugin##CorePrivateIndex].ptr)
+#define PLUGIN_CORE(object, plugin, prefix) \
+    plugin##Core * prefix##c = GET_PLUGIN_CORE (object, plugin)
+
+#define GET_PLUGIN_DISPLAY(object, plugin) \
+    ((plugin##Display *) \
+	(object)->base.privates[plugin##DisplayPrivateIndex].ptr)
+#define PLUGIN_DISPLAY(object, plugin, prefix) \
+    plugin##Display * prefix##d = GET_PLUGIN_DISPLAY (object, plugin)
+
+#define GET_PLUGIN_SCREEN(object, parent, plugin) \
+    ((plugin##Screen *) \
+	(object)->base.privates[(parent)->screenPrivateIndex].ptr)
+#define PLUGIN_SCREEN(object, plugin, prefix) \
+    plugin##Screen * prefix##s = \
+	GET_PLUGIN_SCREEN (object, \
+	GET_PLUGIN_DISPLAY (s->display, plugin), plugin)
+
+#define GET_PLUGIN_WINDOW(object, parent, plugin) \
+    ((plugin##Window *) \
+	(object)->base.privates[(parent)->windowPrivateIndex].ptr)
+#define PLUGIN_WINDOW(object, plugin, prefix) \
+    plugin##Window * prefix##w = \
+	GET_PLUGIN_WINDOW  (object, \
+	GET_PLUGIN_SCREEN  (w->screen, \
+	GET_PLUGIN_DISPLAY (w->screen->display, plugin), plugin), plugin)
+
+#endif
+
+COMPIZ_END_DECLS
 
 #endif
 </xsl:text>

commit 7966c5f6396049c708795db57ceb900c58c5eeb3
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Wed Mar 19 14:49:25 2008 +0100

    Generate enums for int lists.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index c217ec4..d5b134d 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1490,7 +1490,7 @@ CompOption *</xsl:text>
 <!-- generate enums/masks for restricted string options -->
 
     <xsl:template name="printOptionEnums">
-                <xsl:for-each select="/compiz/plugin[@name=$pName]/descendant-or-self::option[@type = 'int' and ./desc/value]">
+                <xsl:for-each select="/compiz/plugin[@name=$pName]/descendant-or-self::option[(@type = 'int' or (@type = 'list' and ./type/text() = 'int')) and ./desc/value]">
             <xsl:text>typedef enum
 {
 </xsl:text>

commit 93a285d0ee3478525db5e8b962c88d915a160412
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Thu Mar 6 22:46:30 2008 +0100

    * Bump version to 0.7.3

diff --git a/VERSION b/VERSION
index 70d11ae..a48124b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.7.2
+VERSION=0.7.3

commit f4732617377fe6c7e6dc8adfe0b44d0352e9468e
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Thu Mar 6 22:46:28 2008 +0100

    * Bump version to 0.7.2

diff --git a/VERSION b/VERSION
index 58d3865..70d11ae 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.6.99
+VERSION=0.7.2

commit 7a77d5f4a4591e1e528fc2800d1f3d5d33aaf324
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Fri Feb 29 15:43:17 2008 +0100

    Fixed memleak during unload. Thanks to Mark Thomas (markbt).

diff --git a/src/bcop.xslt b/src/bcop.xslt
index 644b4c8..c217ec4 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1157,7 +1157,7 @@ static void </xsl:text>
         <xsl:text>PluginVTable &amp;&amp; </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>PluginVTable->fini)
-        return </xsl:text>
+        </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>PluginVTable->fini (p);
 

commit 1ce9770b2424bbd65a894ee8410ca6de86fbbb46
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Tue Feb 26 01:22:48 2008 +0100

    Removed warning on 64 bit systems.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index f5697ce..644b4c8 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1272,8 +1272,9 @@ static void </xsl:text>
         </xsl:if>
         <xsl:text>};
 
+    *count = 0;
     RETURN_DISPATCH (o, dispTab, ARRAY_SIZE (dispTab),
-		     (void *) (*count = 0), (p, o, count));
+		     NULL, (p, o, count));
 }
 
 static CompBool </xsl:text>

commit 86d31c32f3b905afd6ce5dfe9087ad3c7b5634da
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Sun Oct 21 12:52:02 2007 +0200

    * Bump version to 0.6.99

diff --git a/VERSION b/VERSION
index 1f8bff3..58d3865 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.6.100
+VERSION=0.6.99

commit 602aa5290bc54a178840d2e7c6d1f4ed58c59e5b
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Thu Sep 6 23:54:50 2007 +0200

    Apply core changes.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index aa8605b..f5697ce 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -226,7 +226,7 @@ CompPluginVTable </xsl:text>
         <xsl:text>_OPTIONS_DISPLAY(d) \
         ((</xsl:text>
         <xsl:value-of select="$Plugin"/>
-        <xsl:text>OptionsDisplay *) (d)->object.privates[displayPrivateIndex].ptr)
+        <xsl:text>OptionsDisplay *) (d)->base.privates[displayPrivateIndex].ptr)
 
 #define </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
@@ -242,7 +242,7 @@ CompPluginVTable </xsl:text>
         <xsl:text>_OPTIONS_SCREEN(s, od) \
         ((</xsl:text>
         <xsl:value-of select="$Plugin"/>
-        <xsl:text>OptionsScreen *) (s)->object.privates[(od)->screenPrivateIndex].ptr)
+        <xsl:text>OptionsScreen *) (s)->base.privates[(od)->screenPrivateIndex].ptr)
 
 #define </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
@@ -926,7 +926,7 @@ void </xsl:text>
     if (!os)
         return FALSE;
 
-    s->object.privates[od->screenPrivateIndex].ptr = os;
+    s->base.privates[od->screenPrivateIndex].ptr = os;
 
     </xsl:text>
         <xsl:if test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
@@ -1025,7 +1025,7 @@ static void </xsl:text>
         return FALSE;
     }
 
-    d->object.privates[displayPrivateIndex].ptr = od;
+    d->base.privates[displayPrivateIndex].ptr = od;
 
     </xsl:text>
         <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
@@ -1180,6 +1180,7 @@ static void </xsl:text>
         <xsl:text>OptionsInitObject (CompPlugin *p, CompObject *o)
 {
     static InitPluginObjectProc dispTab[] = {
+        (InitPluginObjectProc) 0,
         (InitPluginObjectProc) </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>OptionsInitDisplay,
@@ -1196,6 +1197,7 @@ static void </xsl:text>
         <xsl:text>OptionsFiniObject (CompPlugin *p, CompObject *o)
 {
     static FiniPluginObjectProc dispTab[] = {
+        (FiniPluginObjectProc) 0,
         (FiniPluginObjectProc) </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>OptionsFiniDisplay,
@@ -1250,6 +1252,7 @@ static void </xsl:text>
         <xsl:text>OptionsGetObjectOptions (CompPlugin *p, CompObject *o, int *count)
 {
     static GetPluginObjectOptionsProc dispTab[] = {
+        (GetPluginObjectOptionsProc) 0,
         </xsl:text>
         <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
 	    <xsl:text>    (GetPluginObjectOptionsProc) </xsl:text>
@@ -1278,6 +1281,7 @@ static CompBool </xsl:text>
         <xsl:text>OptionsSetObjectOption (CompPlugin *p, CompObject *o, const char *name, CompOptionValue *value)
 {
     static SetPluginObjectOptionProc dispTab[] = {
+        (SetPluginObjectOptionProc) 0,
     </xsl:text>
         <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
 	    <xsl:text>    (SetPluginObjectOptionProc) </xsl:text>

commit 37168ab2bc93cd8cc295a6b7708ac79442f2226e
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Tue Sep 4 17:33:58 2007 +0200

    Fixed bugs with broken xpath/xslt implementations.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index bdb6b1b..aa8605b 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -262,7 +262,7 @@ typedef struct _</xsl:text>
     int screenPrivateIndex;
 
 </xsl:text>
-        <xsl:if test="plugin[@name=$pName]/display//option">
+        <xsl:if test="plugin[@name=$pName]/display/descendant-or-self::option">
             <xsl:text>    CompOption opt[</xsl:text>
             <xsl:value-of select="$Plugin"/>
             <xsl:text>DisplayOptionNum];
@@ -272,7 +272,7 @@ typedef struct _</xsl:text>
             <xsl:value-of select="$Plugin"/>
             <xsl:text>DisplayOptionNum];
 </xsl:text>
-            <xsl:for-each select="plugin[@name=$pName]/display//option[@type = 'list' and ./desc/value and ./type/text() = 'int']">
+            <xsl:for-each select="plugin[@name=$pName]/display/descendant-or-self::option[@type = 'list' and ./desc/value and ./type/text() = 'int']">
                 <xsl:text>    unsigned int </xsl:text>
                 <xsl:value-of select="@name"/>
                 <xsl:text>;
@@ -288,7 +288,7 @@ typedef struct _</xsl:text>
         <xsl:text>OptionsScreen
 {
 </xsl:text>
-        <xsl:if test="plugin[@name=$pName]/screen//option">
+        <xsl:if test="plugin[@name=$pName]/screen/descendant-or-self::option">
             <xsl:text>    CompOption opt[</xsl:text>
             <xsl:value-of select="$Plugin"/>
             <xsl:text>ScreenOptionNum];
@@ -298,7 +298,7 @@ typedef struct _</xsl:text>
             <xsl:value-of select="$Plugin"/>
             <xsl:text>ScreenOptionNum];
 </xsl:text>
-            <xsl:for-each select="plugin[@name=$pName]/screen//option[@type = 'list' and ./desc/value and ./type/text() = 'int']">
+            <xsl:for-each select="plugin[@name=$pName]/screen/descendant-or-self::option[@type = 'list' and ./desc/value and ./type/text() = 'int']">
                 <xsl:text>    unsigned int </xsl:text>
                 <xsl:value-of select="@name"/>
                 <xsl:text>;
@@ -311,12 +311,12 @@ typedef struct _</xsl:text>
 
 </xsl:text>
         <xsl:call-template name="printFunctions"/>
-        <xsl:if test="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
             <xsl:call-template name="initDisplayOptions"/>
             <xsl:call-template name="setDisplayOptions"/>
             <xsl:call-template name="getDisplayOptions"/>
         </xsl:if>
-        <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
 	    <xsl:call-template name="initScreenOptions"/>
 	    <xsl:call-template name="setScreenOptions"/>
 	    <xsl:call-template name="getScreenOptions"/>
@@ -356,7 +356,7 @@ typedef struct _</xsl:text>
 <!-- print get/set functions -->
 
     <xsl:template name="printFunctions">
-        <xsl:for-each select="/compiz/plugin[@name=$pName]//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/descendant-or-self::option">
             <xsl:choose>
                 <xsl:when test="@type='int'">
                     <xsl:text>int </xsl:text>
@@ -648,7 +648,7 @@ void </xsl:text>
 
 </xsl:text>
         </xsl:for-each>
-        <xsl:if test="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
             <xsl:text>CompOption * </xsl:text>
             <xsl:value-of select="$plugin"/>
             <xsl:text>GetDisplayOption (CompDisplay *d, </xsl:text>
@@ -663,7 +663,7 @@ void </xsl:text>
 
 </xsl:text>
         </xsl:if>
-        <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
             <xsl:text>CompOption * </xsl:text>
             <xsl:value-of select="$plugin"/>
             <xsl:text>GetScreenOption (CompScreen *s, </xsl:text>
@@ -687,7 +687,7 @@ void </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>OptionsDisplayOptionInfo[] = {
 </xsl:text>
-        <xsl:for-each select="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
             <xsl:call-template name="initOption"/>
         </xsl:for-each>
         <xsl:text>};
@@ -700,7 +700,7 @@ void </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>OptionsScreenOptionInfo[] = {
 </xsl:text>
-        <xsl:for-each select="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
             <xsl:call-template name="initOption"/>
         </xsl:for-each>
         <xsl:text>};
@@ -793,7 +793,7 @@ void </xsl:text>
     switch (index)
     {
 </xsl:text>
-        <xsl:for-each select="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
             <xsl:call-template name="setOption"/>
         </xsl:for-each>
         <xsl:text>    default:
@@ -826,7 +826,7 @@ void </xsl:text>
     switch (index)
     {
 </xsl:text>
-        <xsl:for-each select="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
             <xsl:call-template name="setOption"/>
         </xsl:for-each>
         <xsl:text>    default:
@@ -909,8 +909,8 @@ void </xsl:text>
         <xsl:value-of select="$Plugin"/>
         <xsl:text>OptionsScreen *os;
     </xsl:text>
-        <xsl:if test="/compiz/plugin[@name=$pName]/screen//option[@type = 'list']/desc/value and
-        /compiz/plugin[@name=$pName]/screen//option[@type = 'list']/type/text() = 'int'">
+        <xsl:if test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option[@type = 'list']/desc/value and
+        /compiz/plugin[@name=$pName]/screen/descendant-or-self::option[@type = 'list']/type/text() = 'int'">
             <xsl:text>CompOption *o;
     int i;
     </xsl:text>
@@ -929,7 +929,7 @@ void </xsl:text>
     s->object.privates[od->screenPrivateIndex].ptr = os;
 
     </xsl:text>
-        <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
             <xsl:text>if (!compInitScreenOptionsFromMetadata (s, &amp;</xsl:text>
             <xsl:value-of select="$plugin"/>
             <xsl:text>OptionsMetadata, </xsl:text>
@@ -943,7 +943,7 @@ void </xsl:text>
     }
 </xsl:text>
         </xsl:if>
-        <xsl:for-each select="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
         <xsl:if test="@type = 'list' and ./desc/value and ./type/text() = 'int'">
             <xsl:text>    o = &amp;os->opt[</xsl:text>
             <xsl:call-template name="printOptionsEnumName"/>
@@ -978,7 +978,7 @@ static void </xsl:text>
         <xsl:text>_OPTIONS_SCREEN (s);
 
 </xsl:text>
-        <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
             <xsl:text>
     compFiniScreenOptions (s, os->opt, </xsl:text>
             <xsl:value-of select="$Plugin"/>
@@ -1003,8 +1003,8 @@ static void </xsl:text>
         <xsl:value-of select="$Plugin"/>
         <xsl:text>OptionsDisplay *od;
    </xsl:text>
-        <xsl:if test="/compiz/plugin[@name=$pName]/display//option[@type = 'list']/desc/value and
-        /compiz/plugin[@name=$pName]/display//option[@type = 'list']/type/text() = 'int'">
+        <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option[@type = 'list']/desc/value and
+        /compiz/plugin[@name=$pName]/display/descendant-or-self::option[@type = 'list']/type/text() = 'int'">
             <xsl:text>CompOption *o;
     int i;
     </xsl:text>
@@ -1028,7 +1028,7 @@ static void </xsl:text>
     d->object.privates[displayPrivateIndex].ptr = od;
 
     </xsl:text>
-        <xsl:if test="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
             <xsl:text>if (!compInitDisplayOptionsFromMetadata (d, &amp;</xsl:text>
             <xsl:value-of select="$plugin"/>
             <xsl:text>OptionsMetadata, </xsl:text>
@@ -1042,7 +1042,7 @@ static void </xsl:text>
     }
 </xsl:text>
         </xsl:if>
-        <xsl:for-each select="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
         <xsl:if test="@type = 'list' and ./desc/value and ./type/text() = 'int'">
             <xsl:text>    o = &amp;od->opt[</xsl:text>
             <xsl:call-template name="printOptionsEnumName"/>
@@ -1077,7 +1077,7 @@ static void </xsl:text>
 
     freeScreenPrivateIndex(d, od->screenPrivateIndex);
 </xsl:text>
-       <xsl:if test="/compiz/plugin[@name=$pName]/display//option">
+       <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
             <xsl:text>
     compFiniDisplayOptions (d, od->opt, </xsl:text>
             <xsl:value-of select="$Plugin"/>
@@ -1108,7 +1108,7 @@ static void </xsl:text>
         <xsl:value-of select="$pName"/>
         <xsl:text>",</xsl:text>
         <xsl:choose>
-            <xsl:when test="/compiz/plugin[@name=$pName]/display//option">
+            <xsl:when test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
                 <xsl:value-of select="$plugin"/>
                 <xsl:text>OptionsDisplayOptionInfo, </xsl:text>
                 <xsl:value-of select="$Plugin"/>
@@ -1119,7 +1119,7 @@ static void </xsl:text>
             </xsl:otherwise>
         </xsl:choose>
         <xsl:choose>
-            <xsl:when test="/compiz/plugin[@name=$pName]/screen//option">
+            <xsl:when test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
                 <xsl:value-of select="$plugin"/>
                 <xsl:text>OptionsScreenOptionInfo, </xsl:text>
                 <xsl:value-of select="$Plugin"/>
@@ -1251,17 +1251,17 @@ static void </xsl:text>
 {
     static GetPluginObjectOptionsProc dispTab[] = {
         </xsl:text>
-        <xsl:if test="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
 	    <xsl:text>    (GetPluginObjectOptionsProc) </xsl:text>
 	    <xsl:value-of select="$plugin"/>
             <xsl:text>OptionsGetDisplayOptions,
     </xsl:text>
         </xsl:if>
-        <xsl:if test="not(/compiz/plugin[@name=$pName]/display//option)">
+        <xsl:if test="not(/compiz/plugin[@name=$pName]/display/descendant-or-self::option)">
 	    <xsl:text>    (GetPluginObjectOptionsProc) 0,
     </xsl:text>
         </xsl:if>
-        <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
 	    <xsl:text>    (GetPluginObjectOptionsProc) </xsl:text>
 	    <xsl:value-of select="$plugin"/>
             <xsl:text>OptionsGetScreenOptions
@@ -1279,17 +1279,17 @@ static CompBool </xsl:text>
 {
     static SetPluginObjectOptionProc dispTab[] = {
     </xsl:text>
-        <xsl:if test="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
 	    <xsl:text>    (SetPluginObjectOptionProc) </xsl:text>
 	    <xsl:value-of select="$plugin"/>
             <xsl:text>OptionsSetDisplayOption,
     </xsl:text>
         </xsl:if>
-        <xsl:if test="not(/compiz/plugin[@name=$pName]/display//option)">
+        <xsl:if test="not(/compiz/plugin[@name=$pName]/display/descendant-or-self::option)">
 	    <xsl:text>    (SetPluginObjectOptionProc) 0,
     </xsl:text>
         </xsl:if>
-        <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:if test="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
 	<xsl:text>    (SetPluginObjectOptionProc) </xsl:text>
 	    <xsl:value-of select="$plugin"/>
             <xsl:text>OptionsSetScreenOption
@@ -1420,7 +1420,7 @@ CompPluginVTable * getCompPluginInfo (void);
 <xsl:text>typedef enum
 {
 </xsl:text>
-        <xsl:for-each select="/compiz/plugin[@name=$pName]/display//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/display/descendant-or-self::option">
             <xsl:text>    </xsl:text>
             <xsl:call-template name="printOptionsEnumName"/>
             <xsl:text>,
@@ -1453,7 +1453,7 @@ CompOption *</xsl:text>
 <xsl:text>typedef enum
 {
 </xsl:text>
-        <xsl:for-each select="/compiz/plugin[@name=$pName]/screen//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/screen/descendant-or-self::option">
             <xsl:text>    </xsl:text>
             <xsl:call-template name="printOptionsEnumName"/>
             <xsl:text>,
@@ -1485,7 +1485,7 @@ CompOption *</xsl:text>
 <!-- generate enums/masks for restricted string options -->
 
     <xsl:template name="printOptionEnums">
-                <xsl:for-each select="/compiz/plugin[@name=$pName]//option[@type = 'int' and ./desc/value]">
+                <xsl:for-each select="/compiz/plugin[@name=$pName]/descendant-or-self::option[@type = 'int' and ./desc/value]">
             <xsl:text>typedef enum
 {
 </xsl:text>
@@ -1516,7 +1516,7 @@ CompOption *</xsl:text>
     </xsl:template>
 
     <xsl:template name="printOptionMasks">
-        <xsl:for-each select="/compiz/plugin[@name=$pName]//option[@type = 'list' and ./desc/value and ./type/text() = 'int']">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/descendant-or-self::option[@type = 'list' and ./desc/value and ./type/text() = 'int']">
             <xsl:for-each select="desc/*[(name() = 'name' and not(@xml:lang)) or name() = '_name']">
                 <xsl:text>#define </xsl:text>
                 <xsl:call-template name="PrintCamel">
@@ -1543,7 +1543,7 @@ CompOption *</xsl:text>
 <!-- generate get/set function definitions -->
 
     <xsl:template name="printFunctionDefinitions">
-        <xsl:for-each select="/compiz/plugin[@name=$pName]//option">
+        <xsl:for-each select="/compiz/plugin[@name=$pName]/descendant-or-self::option">
             <xsl:choose>
                 <xsl:when test="@type='int'">
                     <xsl:text>int              </xsl:text>

commit d7a48f2ca2ad50731c3af3e8a51d2258fc7ee365
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Thu Aug 30 18:54:06 2007 +0200

    Typo.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index 43ae60e..bdb6b1b 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1286,7 +1286,7 @@ static CompBool </xsl:text>
     </xsl:text>
         </xsl:if>
         <xsl:if test="not(/compiz/plugin[@name=$pName]/display//option)">
-	    <xsl:text>    (SetPluginObjectOptionsProc) 0,
+	    <xsl:text>    (SetPluginObjectOptionProc) 0,
     </xsl:text>
         </xsl:if>
         <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">

commit 4c5057c71b1a0049330ca65eabd3e1699e6385f9
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Thu Aug 30 18:50:13 2007 +0200

    Handle plugins with no display options correctly.

diff --git a/src/bcop.xslt b/src/bcop.xslt
index 9850f88..43ae60e 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1257,6 +1257,10 @@ static void </xsl:text>
             <xsl:text>OptionsGetDisplayOptions,
     </xsl:text>
         </xsl:if>
+        <xsl:if test="not(/compiz/plugin[@name=$pName]/display//option)">
+	    <xsl:text>    (GetPluginObjectOptionsProc) 0,
+    </xsl:text>
+        </xsl:if>
         <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
 	    <xsl:text>    (GetPluginObjectOptionsProc) </xsl:text>
 	    <xsl:value-of select="$plugin"/>
@@ -1281,6 +1285,10 @@ static CompBool </xsl:text>
             <xsl:text>OptionsSetDisplayOption,
     </xsl:text>
         </xsl:if>
+        <xsl:if test="not(/compiz/plugin[@name=$pName]/display//option)">
+	    <xsl:text>    (SetPluginObjectOptionsProc) 0,
+    </xsl:text>
+        </xsl:if>
         <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
 	<xsl:text>    (SetPluginObjectOptionProc) </xsl:text>
 	    <xsl:value-of select="$plugin"/>

commit 69028bfe3e67b367108801f44435281765ed872a
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Thu Aug 30 18:08:06 2007 +0200

    Use COMPIZ_BEGIN_DECLS / COMPIZ_END_DECLS

diff --git a/src/bcop.xslt b/src/bcop.xslt
index 577c1d4..9850f88 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -1388,9 +1388,9 @@ static CompBool </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
         <xsl:text>_OPTIONS_H
 
-#ifdef  __cplusplus
-extern "C" {
-#endif
+#include &lt;compiz-common.h&gt;
+
+COMPIZ_BEGIN_DECLS
 
 CompPluginVTable * getCompPluginInfo (void);
 
@@ -1400,9 +1400,7 @@ CompPluginVTable * getCompPluginInfo (void);
         <xsl:call-template name="printOptionEnums"/>
         <xsl:call-template name="printOptionMasks"/>
         <xsl:call-template name="printFunctionDefinitions"/>
-        <xsl:text>#ifdef  __cplusplus
-}
-#endif
+        <xsl:text>COMPIZ_END_DECLS
 
 #endif
 </xsl:text>

commit 1a96b500d128c80c0a93e08a1eb41748d7bb3142
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Thu Aug 30 17:51:23 2007 +0200

    Apply core changes.

diff --git a/VERSION b/VERSION
index 58d3865..1f8bff3 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.6.99
+VERSION=0.6.100
diff --git a/src/bcop.xslt b/src/bcop.xslt
index cd44b21..577c1d4 100644
--- a/src/bcop.xslt
+++ b/src/bcop.xslt
@@ -201,12 +201,10 @@
 #include &lt;stdlib.h&gt;
 #include &lt;string.h&gt;
 
-#include &lt;compiz.h&gt;
+#include &lt;compiz-core.h&gt;
 
-#define _</xsl:text>
-        <xsl:value-of select="$PLUGIN"/>
-        <xsl:text>_OPTIONS_INTERNAL
-#include "</xsl:text>
+</xsl:text>
+        <xsl:text>#include "</xsl:text>
         <xsl:value-of select="$filename"/>
         <xsl:text>"
 
@@ -228,7 +226,7 @@ CompPluginVTable </xsl:text>
         <xsl:text>_OPTIONS_DISPLAY(d) \
         ((</xsl:text>
         <xsl:value-of select="$Plugin"/>
-        <xsl:text>OptionsDisplay *) (d)->privates[displayPrivateIndex].ptr)
+        <xsl:text>OptionsDisplay *) (d)->object.privates[displayPrivateIndex].ptr)
 
 #define </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
@@ -244,7 +242,7 @@ CompPluginVTable </xsl:text>
         <xsl:text>_OPTIONS_SCREEN(s, od) \
         ((</xsl:text>
         <xsl:value-of select="$Plugin"/>
-        <xsl:text>OptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr)
+        <xsl:text>OptionsScreen *) (s)->object.privates[(od)->screenPrivateIndex].ptr)
 
 #define </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
@@ -326,6 +324,8 @@ typedef struct _</xsl:text>
 	<xsl:call-template name="initFiniScreen"/>
 	<xsl:call-template name="initFiniDisplay"/>
 	<xsl:call-template name="initFini"/>
+	<xsl:call-template name="initFiniObject"/>
+	<xsl:call-template name="getSetObject"/>
 	<xsl:call-template name="getVTable"/>
     </xsl:template>
 
@@ -926,7 +926,7 @@ void </xsl:text>
     if (!os)
         return FALSE;
 
-    s->privates[od->screenPrivateIndex].ptr = os;
+    s->object.privates[od->screenPrivateIndex].ptr = os;
 
     </xsl:text>
         <xsl:if test="/compiz/plugin[@name=$pName]/screen//option">
@@ -965,14 +965,7 @@ void </xsl:text>
         
         </xsl:for-each>
 
-        <xsl:text>    if (</xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable &amp;&amp; </xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable->initScreen)
-        return </xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable->initScreen (p, s);
+        <xsl:text>
     return TRUE;
 }
 
@@ -980,15 +973,6 @@ static void </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>OptionsFiniScreen (CompPlugin *p, CompScreen *s)
 {
-    if (</xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable &amp;&amp; </xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable->finiScreen)
-        return </xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable->finiScreen (p, s);
-
     </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
         <xsl:text>_OPTIONS_SCREEN (s);
@@ -1041,7 +1025,7 @@ static void </xsl:text>
         return FALSE;
     }
 
-    d->privates[displayPrivateIndex].ptr = od;
+    d->object.privates[displayPrivateIndex].ptr = od;
 
     </xsl:text>
         <xsl:if test="/compiz/plugin[@name=$pName]/display//option">
@@ -1079,14 +1063,7 @@ static void </xsl:text>
         </xsl:if>
         
         </xsl:for-each>
-        <xsl:text>    if (</xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable &amp;&amp; </xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable->initDisplay)
-        return </xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable->initDisplay (p, d);
+        <xsl:text>
     return TRUE;
 }
 
@@ -1094,15 +1071,6 @@ static void </xsl:text>
         <xsl:value-of select="$plugin"/>
         <xsl:text>OptionsFiniDisplay (CompPlugin *p, CompDisplay *d)
 {
-    if (</xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable &amp;&amp; </xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable->finiDisplay)
-        return </xsl:text>
-        <xsl:value-of select="$plugin"/>
-        <xsl:text>PluginVTable->finiDisplay (p, d);
-
     </xsl:text>
         <xsl:value-of select="$PLUGIN"/>
         <xsl:text>_OPTIONS_DISPLAY (d);
@@ -1204,6 +1172,130 @@ static void </xsl:text>
 </xsl:text>
     </xsl:template>
 
+<!-- init/fini object plugin -->
+
+    <xsl:template name="initFiniObject">
+        <xsl:text>static CompBool </xsl:text>


Reply to: