mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-24 21:16:15 +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)
|
||||
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,
|
||||
|
Loading…
Reference in New Issue
Block a user