libnm: use G_PARAM_EXPLICIT_NOTIFY for direct int64,uint64 properties

For doing this, it's important to review that no set_property()
implementation exists, which now would miss to emit the notification.
This commit is contained in:
Thomas Haller 2023-12-11 12:09:13 +01:00
parent 821612dcf4
commit 96c1c49998
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
3 changed files with 20 additions and 18 deletions

View file

@ -6512,7 +6512,7 @@ nm_setting_ip_config_class_init(NMSettingIPConfigClass *klass)
-1,
G_MAXUINT32,
-1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
* NMSettingIPConfig:route-table:

View file

@ -677,14 +677,14 @@ _nm_properties_override(GArray *properties_override, const NMSettInfoProperty *p
G_STATIC_ASSERT((default_value) <= (max_value)); \
G_STATIC_ASSERT((max_value) <= G_MAXINT64); \
\
_param_spec = \
g_param_spec_int64("" prop_name "", \
"", \
"", \
(min_value), \
(max_value), \
(default_value), \
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | (param_flags)); \
_param_spec = g_param_spec_int64("" prop_name "", \
"", \
"", \
(min_value), \
(max_value), \
(default_value), \
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY \
| G_PARAM_STATIC_STRINGS | (param_flags)); \
\
(obj_properties)[(prop_id)] = _param_spec; \
\
@ -722,14 +722,14 @@ _nm_properties_override(GArray *properties_override, const NMSettInfoProperty *p
G_STATIC_ASSERT((default_value) == 0 || (default_value) -1u < (max_value)); \
G_STATIC_ASSERT((max_value) <= G_MAXUINT64); \
\
_param_spec = \
g_param_spec_uint64("" prop_name "", \
"", \
"", \
(min_value), \
(max_value), \
(default_value), \
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | (param_flags)); \
_param_spec = g_param_spec_uint64("" prop_name "", \
"", \
"", \
(min_value), \
(max_value), \
(default_value), \
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY \
| G_PARAM_STATIC_STRINGS | (param_flags)); \
\
(obj_properties)[(prop_id)] = _param_spec; \
\

View file

@ -4916,7 +4916,9 @@ check_done:;
expected = NM_IN_SET(sip->property_type->direct_type,
NM_VALUE_TYPE_BOOL,
NM_VALUE_TYPE_UINT32,
NM_VALUE_TYPE_INT32);
NM_VALUE_TYPE_INT32,
NM_VALUE_TYPE_INT64,
NM_VALUE_TYPE_UINT64);
if (NM_FLAGS_HAS(sip->param_spec->flags, G_PARAM_EXPLICIT_NOTIFY)) {
g_assert(expected);