diff --git a/src/nm-config.c b/src/nm-config.c index 03f9788ecc..0ccb6e6af2 100644 --- a/src/nm-config.c +++ b/src/nm-config.c @@ -1890,7 +1890,17 @@ nm_config_class_init (NMConfigClass *config_class) G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, - G_TYPE_NONE, 3, NM_TYPE_CONFIG_DATA, NM_TYPE_CONFIG_CHANGE_FLAGS, NM_TYPE_CONFIG_DATA); + G_TYPE_NONE, + 3, + NM_TYPE_CONFIG_DATA, + /* Use plain guint type for changes argument. This avoids + * glib/ffi bug https://bugzilla.redhat.com/show_bug.cgi?id=1260577 */ + /* NM_TYPE_CONFIG_CHANGE_FLAGS, */ + G_TYPE_UINT, + NM_TYPE_CONFIG_DATA); + + G_STATIC_ASSERT_EXPR (sizeof (guint) == sizeof (NMConfigChangeFlags)); + G_STATIC_ASSERT_EXPR (((gint64) ((NMConfigChangeFlags) -1)) > ((gint64) 0)); } static void diff --git a/src/tests/config/test-config.c b/src/tests/config/test-config.c index d8aff9c3f5..b021fe028a 100644 --- a/src/tests/config/test-config.c +++ b/src/tests/config/test-config.c @@ -807,7 +807,10 @@ test_config_signal (void) nm_config_reload (config, SIGHUP); - /* test with subscribing two signals... */ + /* test with subscribing two signals... + * + * This test exposes glib bug https://bugzilla.redhat.com/show_bug.cgi?id=1260577 + * for which we however have a workaround in 'nm-config.c' */ g_signal_connect (G_OBJECT (config), NM_CONFIG_SIGNAL_CONFIG_CHANGED, G_CALLBACK (_test_signal_config_changed_cb2),