Hello community,

here is the log from the commit of package gupnp for openSUSE:Factory checked 
in at 2013-10-17 14:14:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gupnp (Old)
 and      /work/SRC/openSUSE:Factory/.gupnp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gupnp"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gupnp/gupnp.changes      2013-09-11 
12:10:55.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gupnp.new/gupnp.changes 2013-10-17 
17:38:36.000000000 +0200
@@ -1,0 +2,13 @@
+Wed Oct 16 13:49:12 UTC 2013 - dims...@opensuse.org
+
+- Update to version 0.20.7:
+  + Fix GCC warnings about local includes.
+  + Do not hand out libxml2-allocated strings.
+  + Fix a crash when a notification host was not available.
+  + Always call action call-back asynchronously, even when there
+    was an error.
+  + Add performance measurement options to light-server/-client.
+  + Bugs fixed: bgo#669729, bgo#703263, bgo#708162, bgo#708575,
+    bgo#708751.
+
+-------------------------------------------------------------------

Old:
----
  gupnp-0.20.6.tar.xz

New:
----
  gupnp-0.20.7.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gupnp.spec ++++++
--- /var/tmp/diff_new_pack.j30acv/_old  2013-10-17 17:38:37.000000000 +0200
+++ /var/tmp/diff_new_pack.j30acv/_new  2013-10-17 17:38:37.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           gupnp
-Version:        0.20.6
+Version:        0.20.7
 Release:        0
 Summary:        Implementation of the UPnP specification
 License:        LGPL-2.0+

++++++ gupnp-0.20.6.tar.xz -> gupnp-0.20.7.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/NEWS new/gupnp-0.20.7/NEWS
--- old/gupnp-0.20.6/NEWS       2013-09-03 14:08:26.000000000 +0200
+++ new/gupnp-0.20.7/NEWS       2013-10-16 14:54:58.000000000 +0200
@@ -1,3 +1,25 @@
+0.20.7
+======
+
+Changes since 0.20.6:
+- Fix GCC warnings about local includes.
+- Do not hand out libxml2-allocated strings.
+- Fix a crash when a notification host was not available.
+- Always call action call-back asynchronously, even when there was an error.
+- Add performance measurement options to light-server/-client.
+
+Bugs fixed in this release:
+ - https://bugzilla.gnome.org/show_bug.cgi?id=669729
+ - https://bugzilla.gnome.org/show_bug.cgi?id=703263
+ - https://bugzilla.gnome.org/show_bug.cgi?id=708162
+ - https://bugzilla.gnome.org/show_bug.cgi?id=708575
+ - https://bugzilla.gnome.org/show_bug.cgi?id=708751
+
+All contributors to this release:
+ - Jens Georg <m...@jensge.org>
+ - Andrzej Bieniek <andyh...@gmail.com>
+ - Emanuele Aina <emanuele.a...@collabora.com>
+
 0.20.6
 ======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/configure new/gupnp-0.20.7/configure
--- old/gupnp-0.20.6/configure  2013-09-03 14:09:00.000000000 +0200
+++ new/gupnp-0.20.7/configure  2013-10-16 14:59:17.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gupnp 0.20.6.
+# Generated by GNU Autoconf 2.69 for gupnp 0.20.7.
 #
 # Report bugs to 
<http://bugzilla.gnome.org/enter_bug.cgi?product=gupnp&component=gupnp>.
 #
@@ -651,8 +651,8 @@
 # Identity of this package.
 PACKAGE_NAME='gupnp'
 PACKAGE_TARNAME='gupnp'
-PACKAGE_VERSION='0.20.6'
-PACKAGE_STRING='gupnp 0.20.6'
+PACKAGE_VERSION='0.20.7'
+PACKAGE_STRING='gupnp 0.20.7'
 
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gupnp&component=gupnp'
 PACKAGE_URL='http://www.gupnp.org/'
 
@@ -1454,7 +1454,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gupnp 0.20.6 to adapt to many kinds of systems.
+\`configure' configures gupnp 0.20.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1525,7 +1525,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gupnp 0.20.6:";;
+     short | recursive ) echo "Configuration of gupnp 0.20.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1667,7 +1667,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gupnp configure 0.20.6
+gupnp configure 0.20.7
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1945,7 +1945,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gupnp $as_me 0.20.6, which was
+It was created by gupnp $as_me 0.20.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2928,7 +2928,7 @@
 
 # Define the identity of the package.
  PACKAGE='gupnp'
- VERSION='0.20.6'
+ VERSION='0.20.7'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13860,7 +13860,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gupnp $as_me 0.20.6, which was
+This file was extended by gupnp $as_me 0.20.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13927,7 +13927,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gupnp config.status 0.20.6
+gupnp config.status 0.20.7
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/configure.ac 
new/gupnp-0.20.7/configure.ac
--- old/gupnp-0.20.6/configure.ac       2013-08-20 15:28:50.000000000 +0200
+++ new/gupnp-0.20.7/configure.ac       2013-10-09 09:50:32.000000000 +0200
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([gupnp],
-        [0.20.6],
+        [0.20.7],
         
[http://bugzilla.gnome.org/enter_bug.cgi?product=gupnp&component=gupnp],
         [gupnp],
         [http://www.gupnp.org/])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/doc/html/client-tutorial.html 
new/gupnp-0.20.7/doc/html/client-tutorial.html
--- old/gupnp-0.20.6/doc/html/client-tutorial.html      2013-09-03 
14:14:28.000000000 +0200
+++ new/gupnp-0.20.7/doc/html/client-tutorial.html      2013-10-16 
15:04:27.000000000 +0200
@@ -24,7 +24,7 @@
 <a name="client-tutorial"></a>Writing a UPnP Client</h2></div></div></div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id588343"></a>Introduction</h2></div></div></div>
+<a name="id447881"></a>Introduction</h2></div></div></div>
 <p>
       This chapter explains how to write an application which fetches the
       external IP address from an UPnP-compliant modem.  To do this a
@@ -41,7 +41,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id577488"></a>Finding Services</h2></div></div></div>
+<a name="id431674"></a>Finding Services</h2></div></div></div>
 <p>
       First, we initialize GUPnP and create a control point targeting the
       service type.  Then we connect a signal handler so that we are notified
@@ -104,7 +104,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id582697"></a>Invoking Actions</h2></div></div></div>
+<a name="id413285"></a>Invoking Actions</h2></div></div></div>
 <p>
       Now we have an application which searches for the service we specified 
and
       calls <code class="function">service_proxy_available_cb</code> for each 
one it
@@ -154,7 +154,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id576655"></a>Subscribing to state variable change 
notifications</h2></div></div></div>
+<a name="id440548"></a>Subscribing to state variable change 
notifications</h2></div></div></div>
 <p>
       It is possible to get change notifications for the service state 
variables 
       that have attribute <code class="literal">sendEvents="yes"</code>. We'll 
demonstrate
@@ -189,7 +189,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id577039"></a>Generating Wrappers</h2></div></div></div>
+<a name="id421575"></a>Generating Wrappers</h2></div></div></div>
 <p>
       Using <a class="link" 
href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action" 
title="gupnp_service_proxy_send_action ()"><code 
class="function">gupnp_service_proxy_send_action()</code></a> and <a 
class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-add-notify" 
title="gupnp_service_proxy_add_notify ()"><code 
class="function">gupnp_service_proxy_add_notify()</code></a>
       can become tedious, because of the requirement to specify the types and 
deal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/doc/html/gupnp-binding-tool.html 
new/gupnp-0.20.7/doc/html/gupnp-binding-tool.html
--- old/gupnp-0.20.6/doc/html/gupnp-binding-tool.html   2013-09-03 
14:14:28.000000000 +0200
+++ new/gupnp-0.20.7/doc/html/gupnp-binding-tool.html   2013-10-16 
15:04:27.000000000 +0200
@@ -33,7 +33,7 @@
 <div class="cmdsynopsis"><p><code class="command">gupnp-binding-tool</code>  
[--prefix {PREFIX}] [--mode {client|server}] {SCPD file}</p></div>
 </div>
 <div class="refsect1">
-<a name="id586436"></a><h2>Description</h2>
+<a name="id425503"></a><h2>Description</h2>
 <p>
       <span class="command"><strong>gupnp-binding-tool</strong></span> takes a 
<a class="glossterm" href="glossary.html#scpd"><em class="glossterm">SCPD 
file</em></a> and generates convenience C functions
       which call the actual GUPnP functions. The client-side bindings can be 
seen
@@ -49,7 +49,7 @@
     </p>
 </div>
 <div class="refsect1">
-<a name="id577144"></a><h2>Client side bindings</h2>
+<a name="id422377"></a><h2>Client side bindings</h2>
 <p>
       As an example, this action:
     </p>
@@ -138,7 +138,7 @@
     </p>
 </div>
 <div class="refsect1">
-<a name="id596642"></a><h2>Server side bindings</h2>
+<a name="id416406"></a><h2>Server side bindings</h2>
 <p>
       The corresponding server bindings for the same UPnP action 
       (DeletePortMapping) look like this:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/doc/html/index.html 
new/gupnp-0.20.7/doc/html/index.html
--- old/gupnp-0.20.6/doc/html/index.html        2013-09-03 14:14:28.000000000 
+0200
+++ new/gupnp-0.20.7/doc/html/index.html        2013-10-16 15:04:27.000000000 
+0200
@@ -14,11 +14,11 @@
 <div class="titlepage">
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" 
cellspacing="0"><tr><th valign="middle"><p class="title">GUPnP Reference 
Manual</p></th></tr></table></div>
-<div><p class="releaseinfo">Version 0.20.6
+<div><p class="releaseinfo">Version 0.20.7
 </p></div>
 <div><p class="copyright">Copyright © 2007, 2008, 2009 OpenedHand Ltd, Nokia 
Corporation</p></div>
 <div><div class="legalnotice">
-<a name="id518626"></a><p>
+<a name="id365636"></a><p>
         Permission is granted to copy, distribute and/or modify this
         document under the terms of the <em class="citetitle">GNU Free
         Documentation License</em>, Version 1.1 or any later
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/doc/html/ix01.html 
new/gupnp-0.20.7/doc/html/ix01.html
--- old/gupnp-0.20.6/doc/html/ix01.html 2013-09-03 14:14:28.000000000 +0200
+++ new/gupnp-0.20.7/doc/html/ix01.html 2013-10-16 15:04:27.000000000 +0200
@@ -20,7 +20,7 @@
 </tr></table>
 <div class="index">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id512809"></a>Index</h2></div></div></div>
+<a name="id364688"></a>Index</h2></div></div></div>
 <div class="index"><div class="indexdiv">
 <h3>G</h3>
 <dl>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/doc/html/server-tutorial.html 
new/gupnp-0.20.7/doc/html/server-tutorial.html
--- old/gupnp-0.20.6/doc/html/server-tutorial.html      2013-09-03 
14:14:28.000000000 +0200
+++ new/gupnp-0.20.7/doc/html/server-tutorial.html      2013-10-16 
15:04:27.000000000 +0200
@@ -24,7 +24,7 @@
 <a name="server-tutorial"></a>Writing a UPnP Service</h2></div></div></div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id578921"></a>Introduction</h2></div></div></div>
+<a name="id417418"></a>Introduction</h2></div></div></div>
 <p>
       This chapter explains how to implement a UPnP service using GUPnP. For
       this example we will create a virtual UPnP-enabled light bulb.
@@ -42,7 +42,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id581612"></a>Defining the Device</h2></div></div></div>
+<a name="id445880"></a>Defining the Device</h2></div></div></div>
 <p>
       The first step is to write the <em class="firstterm">device 
description</em>
       file.  This is a short XML document which describes the device and what
@@ -118,7 +118,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id579657"></a>Defining Services</h2></div></div></div>
+<a name="id410736"></a>Defining Services</h2></div></div></div>
 <p>
       Because we are using a standard service we can use the service 
description
       from the specification.  This is the <code 
class="literal">SwitchPower1</code>
@@ -211,7 +211,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id580127"></a>Implementing the Device</h2></div></div></div>
+<a name="id446477"></a>Implementing the Device</h2></div></div></div>
 <p>
       Before starting to implement the device, some boilerplate code is needed
       to initialise GUPnP.  GLib types and threading needs to be initialised,
@@ -245,7 +245,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id594925"></a>Implementing a Service</h2></div></div></div>
+<a name="id413944"></a>Implementing a Service</h2></div></div></div>
 <p>
       To implement a service we first fetch the <a class="link" 
href="GUPnPService.html" title="GUPnPService"><span 
class="type">GUPnPService</span></a> from the root
       device using <a class="link" 
href="GUPnPDeviceInfo.html#gupnp-device-info-get-service" 
title="gupnp_device_info_get_service ()"><code 
class="function">gupnp_device_info_get_service()</code></a> (<a class="link" 
href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span 
class="type">GUPnPRootDevice</span></a> is a
@@ -354,7 +354,7 @@
 </div>
 <div class="simplesect">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id554949"></a>Generating Service-specific 
Wrappers</h2></div></div></div>
+<a name="id405822"></a>Generating Service-specific 
Wrappers</h2></div></div></div>
 <p>
       Using service-specific wrappers can simplify the implementation of a 
service.
       Wrappers can be generated with <a class="xref" 
href="gupnp-binding-tool.html" title="gupnp-binding-tool"><span 
class="refentrytitle">gupnp-binding-tool</span>(1)</a>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/examples/light-client.c 
new/gupnp-0.20.7/examples/light-client.c
--- old/gupnp-0.20.6/examples/light-client.c    2013-05-29 13:41:51.000000000 
+0200
+++ new/gupnp-0.20.7/examples/light-client.c    2013-10-16 14:50:43.000000000 
+0200
@@ -20,9 +20,21 @@
   TOGGLE
 } mode;
 
+static gboolean quiet;
+static gint repeat_counter = 1;
+static gint repeat_delay;
+
+static GOptionEntry entries[] =
+{
+  { "quiet", 'q', 0, G_OPTION_ARG_NONE, &quiet, "Turn off output", NULL },
+  { "repeat-counter", 'c', 0, G_OPTION_ARG_INT, &repeat_counter, "Repeat 
counter", "value" },
+  { "repeat-delay", 'd', 0, G_OPTION_ARG_INT, &repeat_delay, "Delay in [ms] 
between each iteration", "value" },
+  { NULL }
+};
+
+
 static void
-service_proxy_available_cb (G_GNUC_UNUSED GUPnPControlPoint *cp,
-                            GUPnPServiceProxy               *proxy)
+send_cmd (GUPnPServiceProxy *proxy)
 {
   GError *error = NULL;
   gboolean target;
@@ -51,12 +63,16 @@
                                         NULL)) {
     goto error;
   } else {
-    g_print ("Set switch to %s.\n", target ? "on" : "off");
+    if (!quiet) {
+      g_print ("Set switch to %s.\n", target ? "on" : "off");
+    }
   }
   
  done:
   /* Only manipulate the first light switch that is found */
-  g_main_loop_quit (main_loop);
+  if (--repeat_counter <= 0) {
+    g_main_loop_quit (main_loop);
+  }
   return;
 
  error:
@@ -65,15 +81,41 @@
   goto done;
 }
 
+static gboolean timeout_func (gpointer user_data)
+{
+  GUPnPServiceProxy *proxy = (GUPnPServiceProxy *) user_data;
+
+  send_cmd (proxy);
+  return TRUE;
+}
+
 static void
-usage (void)
+service_proxy_available_cb (G_GNUC_UNUSED GUPnPControlPoint *cp,
+                            GUPnPServiceProxy               *proxy)
 {
-    g_printerr ("$ light-client [on|off|toggle]\n");
+  if (repeat_counter>0)
+  {
+    send_cmd (proxy);
+    g_timeout_add (repeat_delay, timeout_func, proxy);
+  } else {
+    g_main_loop_quit (main_loop);
+  }
+}
+
+static void
+usage (GOptionContext *optionContext)
+{
+  gchar *help_text;
+
+  help_text = g_option_context_get_help (optionContext, TRUE, NULL);
+  g_printerr ("%s", help_text);
+  g_free (help_text);
 }
 
 int
 main (int argc, char **argv)
 {
+  GOptionContext *optionContext;
   GError *error = NULL;
   GUPnPContext *context;
   GUPnPControlPoint *cp;
@@ -82,10 +124,17 @@
   g_type_init ();
 #endif
 
+  optionContext = g_option_context_new ("[on|off|toggle]");
+  g_option_context_add_main_entries (optionContext, entries, NULL);
+  if (!g_option_context_parse (optionContext, &argc, &argv, &error))
+  {
+    g_print ("option parsing failed: %s\n", error->message);
+    exit (1);
+  }
 
   /* Check and parse command line arguments */
   if (argc != 2) {
-    usage ();
+    usage (optionContext);
     return EXIT_FAILURE;
   }
   
@@ -96,7 +145,7 @@
   } else if (g_str_equal (argv[1], "toggle")) {
     mode = TOGGLE;
   } else {
-    usage ();
+    usage (optionContext);
     return EXIT_FAILURE;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/examples/light-server.c 
new/gupnp-0.20.7/examples/light-server.c
--- old/gupnp-0.20.6/examples/light-server.c    2013-05-29 13:41:51.000000000 
+0200
+++ new/gupnp-0.20.7/examples/light-server.c    2013-10-16 14:50:44.000000000 
+0200
@@ -14,6 +14,13 @@
 #include <gmodule.h>
 
 static gboolean status;
+static gboolean quiet;
+
+static GOptionEntry entries[] =
+{
+  { "quiet", 'q', 0, G_OPTION_ARG_NONE, &quiet, "Turn off output", NULL },
+  { NULL }
+};
 
 G_BEGIN_DECLS
 G_MODULE_EXPORT void set_target_cb (GUPnPService *service,
@@ -55,7 +62,10 @@
                           "Status", G_TYPE_BOOLEAN, status,
                           NULL);
 
-    g_print ("The light is now %s.\n", status ? "on" : "off");
+    if (!quiet)
+    {
+      g_print ("The light is now %s.\n", status ? "on" : "off");
+    }
   }
 
   /* Return success to the client */
@@ -116,6 +126,7 @@
 int
 main (G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **argv)
 {
+  GOptionContext *optionContext;
   GMainLoop *main_loop;
   GError *error = NULL;
   GUPnPContext *context;
@@ -126,9 +137,20 @@
   g_type_init ();
 #endif
 
+  optionContext = g_option_context_new (NULL);
+  g_option_context_add_main_entries (optionContext, entries, NULL);
+  if (!g_option_context_parse (optionContext, &argc, &argv, &error))
+  {
+    g_print ("option parsing failed: %s\n", error->message);
+    exit (1);
+  }
+
   /* By default the light is off */
   status = FALSE;
-  g_print ("The light is now %s.\n", status ? "on" : "off");
+  if (!quiet)
+  {
+    g_print ("The light is now %s.\n", status ? "on" : "off");
+  }
 
   /* Create the UPnP context */
   context = gupnp_context_new (NULL, NULL, 0, &error);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/libgupnp/gupnp-context-manager.c 
new/gupnp-0.20.7/libgupnp/gupnp-context-manager.c
--- old/gupnp-0.20.6/libgupnp/gupnp-context-manager.c   2013-09-03 
10:51:37.000000000 +0200
+++ new/gupnp-0.20.7/libgupnp/gupnp-context-manager.c   2013-10-09 
09:50:32.000000000 +0200
@@ -47,6 +47,14 @@
 
 #include "gupnp-unix-context-manager.h"
 
+#ifdef G_OS_WIN32
+#include "gupnp-windows-context-manager.h"
+#elif defined(USE_NETWORK_MANAGER)
+#include "gupnp-network-manager.h"
+#elif defined(USE_CONNMAN)
+#include "gupnp-connman-manager.h"
+#endif
+
 G_DEFINE_ABSTRACT_TYPE (GUPnPContextManager,
                         gupnp_context_manager,
                         G_TYPE_OBJECT);
@@ -526,19 +534,16 @@
 #endif
         GUPnPContextManager *impl;
         GType impl_type = G_TYPE_INVALID;
-#ifdef G_OS_WIN32
-#include "gupnp-windows-context-manager.h"
 
+#ifdef G_OS_WIN32
         impl_type = GUPNP_TYPE_WINDOWS_CONTEXT_MANAGER;
 #else
-#ifdef USE_NETWORK_MANAGER
-#include "gupnp-network-manager.h"
+#if defined(USE_NETWORK_MANAGER)
         system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
 
         if (gupnp_network_manager_is_available ())
                 impl_type = GUPNP_TYPE_NETWORK_MANAGER;
-#elif USE_CONNMAN
-#include "gupnp-connman-manager.h"
+#elif defined(USE_CONNMAN)
         system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
 
        if (gupnp_connman_manager_is_available ())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/libgupnp/gupnp-device-info.c 
new/gupnp-0.20.7/libgupnp/gupnp-device-info.c
--- old/gupnp-0.20.6/libgupnp/gupnp-device-info.c       2013-08-17 
16:21:55.000000000 +0200
+++ new/gupnp-0.20.7/libgupnp/gupnp-device-info.c       2013-10-09 
09:50:32.000000000 +0200
@@ -952,9 +952,18 @@
         for (element = element->children; element; element = element->next) {
                 /* No early exit since the node explicitly may appear multiple
                  * times: 7.2.10.3 */
-                if (!strcmp ("X_DLNADOC", (char *) element->name))
+                if (!strcmp ("X_DLNADOC", (char *) element->name)) {
+                        xmlChar *content = NULL;
+
+                        content = xmlNodeGetContent (element);
+
+                        if (content == NULL)
+                                continue;
+
                         list = g_list_prepend (list,
-                                               xmlNodeGetContent(element));
+                                               g_strdup ((char *) content));
+                        xmlFree (content);
+                }
         }
 
         /* Return in order of appearance in document */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/libgupnp/gupnp-service-proxy.c 
new/gupnp-0.20.7/libgupnp/gupnp-service-proxy.c
--- old/gupnp-0.20.6/libgupnp/gupnp-service-proxy.c     2013-08-20 
09:47:23.000000000 +0200
+++ new/gupnp-0.20.7/libgupnp/gupnp-service-proxy.c     2013-10-16 
14:48:25.000000000 +0200
@@ -970,6 +970,16 @@
         xml_util_end_element (msg_str, arg_name);
 }
 
+static gboolean
+action_error_idle_cb (gpointer user_data)
+{
+        GUPnPServiceProxyAction *action = (GUPnPServiceProxyAction *) 
user_data;
+
+        action->callback (action->proxy, action, action->user_data);
+
+        return FALSE;
+}
+
 /**
  * gupnp_service_proxy_begin_action_valist:
  * @proxy: A #GUPnPServiceProxy
@@ -1057,7 +1067,7 @@
         ret = begin_action_msg (proxy, action, callback, user_data);
 
         if (ret->error) {
-                callback (proxy, ret, user_data);
+                g_idle_add (action_error_idle_cb, ret);
 
                 return ret;
         }
@@ -1115,7 +1125,7 @@
         ret = begin_action_msg (proxy, action, callback, user_data);
 
         if (ret->error) {
-                callback (proxy, ret, user_data);
+                g_idle_add (action_error_idle_cb, ret);
 
                 return ret;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-0.20.6/libgupnp/gupnp-service.c 
new/gupnp-0.20.7/libgupnp/gupnp-service.c
--- old/gupnp-0.20.6/libgupnp/gupnp-service.c   2013-08-20 09:47:23.000000000 
+0200
+++ new/gupnp-0.20.7/libgupnp/gupnp-service.c   2013-10-16 14:46:36.000000000 
+0200
@@ -1840,23 +1840,20 @@
         } else {
                 /* Other failure: Try next callback or signal failure. */
                 if (data->callbacks->next) {
-                        SoupURI *uri;
-                        SoupSession *service_session;
+                        SoupBuffer *buffer;
+                        guint8 *property_set;
+                        gsize length;
 
                         /* Call next callback */
                         data->callbacks = data->callbacks->next;
 
-                        uri = soup_uri_new (data->callbacks->data);
-                        soup_message_set_uri (msg, uri);
-                        soup_uri_free (uri);
-
-                        /* And re-queue */
-                        data->pending_messages = 
-                                g_list_prepend (data->pending_messages, msg);
-
-                        service_session = gupnp_service_get_session 
(data->service);
-
-                        soup_session_requeue_message (service_session, msg);
+                        /* Get property-set from old message */
+                        buffer = soup_message_body_flatten (msg->request_body);
+                        soup_buffer_get_data (buffer,
+                                              (const guint8 **) &property_set,
+                                              &length);
+                        notify_subscriber (NULL, data, property_set);
+                        soup_buffer_free (buffer);
                 } else {
                         /* Emit 'notify-failed' signal */
                         GError *error;

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to