[glib: 1/3] gdbusobjectmanagerclient: Don’t warn if removing an interface fails




commit 8d82453cf19067240058bda4e0bbfc712bd46071
Author: Philip Withnall <pwithnall endlessos org>
Date:   Wed Sep 22 18:34:08 2021 +0100

    gdbusobjectmanagerclient: Don’t warn if removing an interface fails
    
    If an `InterfacesRemoved` signal is received for an object which doesn’t
    exist in the local map of interfaces, don’t emit a warning.
    
    This seems to happen in the real world (see #2401). Without a trace of
    the D-Bus traffic it’s not possible to know exactly what situation is
    causing this, but it seems possible that the peer could disappear and
    its `notify::name-owner` signal could be processed before its
    `InterfacesRemoved` signal, or something similar.
    
    Signed-off-by: Philip Withnall <pwithnall endlessos org>
    
    Fixes: #2401

 gio/gdbusobjectmanagerclient.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/gio/gdbusobjectmanagerclient.c b/gio/gdbusobjectmanagerclient.c
index 04c55995d..385cc3bbf 100644
--- a/gio/gdbusobjectmanagerclient.c
+++ b/gio/gdbusobjectmanagerclient.c
@@ -1689,9 +1689,9 @@ remove_interfaces (GDBusObjectManagerClient   *manager,
   op = g_hash_table_lookup (manager->priv->map_object_path_to_object_proxy, object_path);
   if (op == NULL)
     {
-      g_warning ("%s: Processing InterfaceRemoved signal for path %s but no object proxy exists",
-                 G_STRLOC,
-                 object_path);
+      g_debug ("%s: Processing InterfaceRemoved signal for path %s but no object proxy exists",
+               G_STRLOC,
+               object_path);
       g_mutex_unlock (&manager->priv->lock);
       goto out;
     }


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