If we have an expected interface and receive a signal not mentioned in
the interface, simply drop it. This way, the application won't have to
check for the signal itself.
This was pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=642724#c5
Signed-off-by: David Zeuthen <davidz@redhat.com>
if (proxy->priv->name_owner != NULL && g_strcmp0 (sender_name, proxy->priv->name_owner) != 0)
goto out;
+ if (proxy->priv->expected_interface != NULL)
+ {
+ const GDBusSignalInfo *info;
+ info = g_dbus_interface_info_lookup_signal (proxy->priv->expected_interface, signal_name);
+ if (info == NULL)
+ goto out;
+ }
+
g_signal_emit (proxy,
signals[SIGNAL_SIGNAL],
0,