mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-26 05:56:14 +01:00
GDBusProxy: Drop unexpected signals
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>
This commit is contained in:
parent
aa59fb9dd1
commit
caf993df6f
@ -755,6 +755,14 @@ on_signal_received (GDBusConnection *connection,
|
|||||||
if (proxy->priv->name_owner != NULL && g_strcmp0 (sender_name, proxy->priv->name_owner) != 0)
|
if (proxy->priv->name_owner != NULL && g_strcmp0 (sender_name, proxy->priv->name_owner) != 0)
|
||||||
goto out;
|
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,
|
g_signal_emit (proxy,
|
||||||
signals[SIGNAL_SIGNAL],
|
signals[SIGNAL_SIGNAL],
|
||||||
0,
|
0,
|
||||||
|
Loading…
Reference in New Issue
Block a user