debian/changelog                         |   11 +-
 debian/compiz.wrapper                    |    3 
 debian/patches/016_fix-dbus-plugin.patch |  153 +++++++++++++++++++++++++++++++
 debian/patches/series                    |    1 
 4 files changed, 163 insertions(+), 5 deletions(-)

New commits:
commit 4cb600c967b9fe89fad1384e3ee16285db0f7d1d
Author: Thierry Reding <[EMAIL PROTECTED]>
Date:   Thu Jan 4 15:58:02 2007 +0100

    Drop --strict-binding, --use-cow and add --no-fbo command-line options.

diff --git a/debian/changelog b/debian/changelog
index a19e2df..4b2b050 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,11 +19,14 @@ compiz (0.3.6-1) experimental; urgency=l
   * Add patch 014_tfp-server-extension that makes compiz look for
     GLX_EXT_texture_from_pixmap in the server extensions too.
   * Add patch 015_optional-fbo which adds a command-line option for disabling
-    the use of FBOs (work around buggy drivers).
+    the use of FBOs (work around buggy drivers). Add the --no-fbo option to
+    command-line in the compiz wrapper.
   * Add patch 016_fix-dbus-plugin which should make compiz work with dbus
     again.
+  * Remove the --strict-binding and --use-cow options from the command-line in
+    the compiz wrapper. These are now the defaults.
 
- -- Thierry Reding <[EMAIL PROTECTED]>  Thu,  4 Jan 2007 13:48:42 +0100
+ -- Thierry Reding <[EMAIL PROTECTED]>  Thu,  4 Jan 2007 15:55:57 +0100
 
 compiz (0.3.4-1) experimental; urgency=low
 
diff --git a/debian/compiz.wrapper b/debian/compiz.wrapper
index 69b7b99..1f19bb0 100644
--- a/debian/compiz.wrapper
+++ b/debian/compiz.wrapper
@@ -1,7 +1,6 @@
 #!/bin/sh
 
-COMPIZ_OPTIONS="--strict-binding --use-cow"
-COMPIZ_PLUGINS=""
+COMPIZ_OPTIONS="--no-fbo"
 
 # if the GLX implementation is not by NVIDIA, use indirect rendering
 /usr/bin/glxinfo | grep "client glx vendor string: NVIDIA Corporation" > 
/dev/null 2>&1

commit 5d2de8b9254fdc461dc73d0e1a4ffbb04afd21f6
Author: Thierry Reding <[EMAIL PROTECTED]>
Date:   Thu Jan 4 13:49:58 2007 +0100

    Add patch 016_fix-dbus-plugin which should make compiz work with dbus again.

diff --git a/debian/changelog b/debian/changelog
index 8125bb9..a19e2df 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -20,8 +20,10 @@ compiz (0.3.6-1) experimental; urgency=l
     GLX_EXT_texture_from_pixmap in the server extensions too.
   * Add patch 015_optional-fbo which adds a command-line option for disabling
     the use of FBOs (work around buggy drivers).
+  * Add patch 016_fix-dbus-plugin which should make compiz work with dbus
+    again.
 
- -- Thierry Reding <[EMAIL PROTECTED]>  Wed,  3 Jan 2007 12:39:23 +0100
+ -- Thierry Reding <[EMAIL PROTECTED]>  Thu,  4 Jan 2007 13:48:42 +0100
 
 compiz (0.3.4-1) experimental; urgency=low
 
diff --git a/debian/patches/016_fix-dbus-plugin.patch 
b/debian/patches/016_fix-dbus-plugin.patch
new file mode 100644
index 0000000..a7dcad3
--- /dev/null
+++ b/debian/patches/016_fix-dbus-plugin.patch
@@ -0,0 +1,153 @@
+diff --git a/plugins/dbus.c b/plugins/dbus.c
+index 68213dc..1fcbe67 100644
+--- a/plugins/dbus.c
++++ b/plugins/dbus.c
+@@ -317,6 +317,18 @@ dbusHandleActionMessage (DBusConnection *connection,
+           if (argument)
+               free (argument);
+ 
++          if (!dbus_message_get_no_reply (message))
++          {
++              DBusMessage *reply;
++
++              reply = dbus_message_new_method_return (message);
++
++              dbus_connection_send (connection, reply, NULL);
++              dbus_connection_flush (connection);
++
++              dbus_message_unref (reply);
++          }
++
+           return TRUE;
+       }
+ 
+@@ -443,20 +455,19 @@ dbusHandleSetOptionMessage (DBusConnection *connection,
+       if (strcmp (option->name, path[2]) == 0)
+       {
+           DBusMessageIter iter;
++          CompOptionValue value, tmpValue;
++          Bool            status = FALSE;
+ 
+-          if (dbus_message_iter_init (message, &iter))
+-          {
+-              CompOptionValue value, tmpValue;
+-              DbusActionIndex actionIndex = DbusActionIndexKeyBinding;
+-              Bool            status = FALSE;
++          memset (&value, 0, sizeof (value));
+ 
+-              memset (&value, 0, sizeof (value));
+-
+-              do
++          if (option->type == CompOptionTypeList)
++          {
++              if (dbus_message_iter_init (message, &iter))
+               {
+-                  if (option->type == CompOptionTypeList)
++                  do
+                   {
+-                      if (dbusGetOptionValue (&iter, option->type, &tmpValue))
++                      if (dbusGetOptionValue (&iter, option->value.list.type,
++                                              &tmpValue))
+                       {
+                           CompOptionValue *v;
+ 
+@@ -467,11 +478,20 @@ dbusHandleSetOptionMessage (DBusConnection *connection,
+                           {
+                               v[value.list.nValue++] = tmpValue;
+                               value.list.value = v;
+-                              status |= TRUE;
+                           }
+                       }
+-                  }
+-                  else if (option->type == CompOptionTypeAction)
++                  } while (dbus_message_iter_next (&iter));
++              }
++
++              status = TRUE;
++          }
++          else if (dbus_message_iter_init (message, &iter))
++          {
++              DbusActionIndex actionIndex = DbusActionIndexKeyBinding;
++
++              do
++              {
++                  if (option->type == CompOptionTypeAction)
+                   {
+                       CompAction *a = &value.action;
+                       char       *str;
+@@ -555,40 +575,48 @@ dbusHandleSetOptionMessage (DBusConnection *connection,
+                       status |= TRUE;
+                   }
+               } while (dbus_message_iter_next (&iter));
++          }
+ 
+-              if (status)
++          if (status)
++          {
++              if (s)
+               {
+-                  if (s)
+-                  {
+-                      if (strcmp (path[0], "core"))
+-                          status =
+-                              (*s->setScreenOptionForPlugin) (s,
+-                                                              path[0],
+-                                                              option->name,
+-                                                              &value);
+-                      else
+-                          status = (*s->setScreenOption) (s, option->name,
+-                                                          &value);
+-                  }
++                  if (strcmp (path[0], "core"))
++                      (*s->setScreenOptionForPlugin) (s,
++                                                      path[0],
++                                                      option->name,
++                                                      &value);
+                   else
+-                  {
+-                      if (strcmp (path[0], "core"))
+-                          status =
+-                              (*d->setDisplayOptionForPlugin) (d,
+-                                                               path[0],
+-                                                               option->name,
+-                                                               &value);
+-                      else
+-                          status = (*d->setDisplayOption) (d, option->name,
+-                                                           &value);
+-                  }
+-
+-                  return status;
++                      (*s->setScreenOption) (s, option->name, &value);
+               }
+               else
+               {
+-                  return FALSE;
++                  if (strcmp (path[0], "core"))
++                      (*d->setDisplayOptionForPlugin) (d,
++                                                       path[0],
++                                                       option->name,
++                                                       &value);
++                  else
++                      (*d->setDisplayOption) (d, option->name, &value);
+               }
++
++              if (!dbus_message_get_no_reply (message))
++              {
++                  DBusMessage *reply;
++
++                  reply = dbus_message_new_method_return (message);
++
++                  dbus_connection_send (connection, reply, NULL);
++                  dbus_connection_flush (connection);
++
++                  dbus_message_unref (reply);
++              }
++
++              return TRUE;
++          }
++          else
++          {
++              return FALSE;
+           }
+       }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index bf6a47f..baa0b6a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
 013_set-qtdir-fallback.patch
 014_tfp-server-extension.patch
 015_optional-fbo.patch
+016_fix-dbus-plugin.patch


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to