From 917a019b01c7b46977b5ab0bab32cd7921f5a37f Mon Sep 17 00:00:00 2001
From: George Kiagiadakis <george.kiagiadakis@collabora.com>
Date: Mon, 1 Jun 2020 17:48:54 +0300
Subject: [PATCH] lib: return empty WpProperties if the info struct has no
 properties on SM objects

---
 lib/wp/endpoint-link.c   | 3 ++-
 lib/wp/endpoint-stream.c | 3 ++-
 lib/wp/endpoint.c        | 3 ++-
 lib/wp/session.c         | 3 ++-
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/lib/wp/endpoint-link.c b/lib/wp/endpoint-link.c
index b341e4bc..d5ba02cd 100644
--- a/lib/wp/endpoint-link.c
+++ b/lib/wp/endpoint-link.c
@@ -82,7 +82,8 @@ wp_endpoint_link_get_properties (WpProxy * proxy)
   WpEndpointLink *self = WP_ENDPOINT_LINK (proxy);
   WpEndpointLinkPrivate *priv = wp_endpoint_link_get_instance_private (self);
 
-  return wp_properties_ref (priv->properties);
+  return priv->properties ?
+      wp_properties_ref (priv->properties) : wp_properties_new_empty ();
 }
 
 static struct spa_param_info *
diff --git a/lib/wp/endpoint-stream.c b/lib/wp/endpoint-stream.c
index a84bf945..dff6940a 100644
--- a/lib/wp/endpoint-stream.c
+++ b/lib/wp/endpoint-stream.c
@@ -80,7 +80,8 @@ wp_endpoint_stream_get_properties (WpProxy * proxy)
   WpEndpointStream *self = WP_ENDPOINT_STREAM (proxy);
   WpEndpointStreamPrivate *priv = wp_endpoint_stream_get_instance_private (self);
 
-  return wp_properties_ref (priv->properties);
+  return priv->properties ?
+      wp_properties_ref (priv->properties) : wp_properties_new_empty ();
 }
 
 static struct spa_param_info *
diff --git a/lib/wp/endpoint.c b/lib/wp/endpoint.c
index 1017992f..2ee68f45 100644
--- a/lib/wp/endpoint.c
+++ b/lib/wp/endpoint.c
@@ -173,7 +173,8 @@ wp_endpoint_get_properties (WpProxy * proxy)
   WpEndpoint *self = WP_ENDPOINT (proxy);
   WpEndpointPrivate *priv = wp_endpoint_get_instance_private (self);
 
-  return wp_properties_ref (priv->properties);
+  return priv->properties ?
+      wp_properties_ref (priv->properties) : wp_properties_new_empty ();
 }
 
 static struct spa_param_info *
diff --git a/lib/wp/session.c b/lib/wp/session.c
index 68b62106..d150ba28 100644
--- a/lib/wp/session.c
+++ b/lib/wp/session.c
@@ -193,7 +193,8 @@ wp_session_get_properties (WpProxy * proxy)
   WpSession *self = WP_SESSION (proxy);
   WpSessionPrivate *priv = wp_session_get_instance_private (self);
 
-  return wp_properties_ref (priv->properties);
+  return priv->properties ?
+      wp_properties_ref (priv->properties) : wp_properties_new_empty ();
 }
 
 static struct spa_param_info *
-- 
GitLab