diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index ddde63489..2638c4ac8 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -1812,12 +1812,6 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, FreeRDP_Settings case FreeRDP_MonitorFlags: return settings->MonitorFlags; - case FreeRDP_MonitorLocalShiftX: - return settings->MonitorLocalShiftX; - - case FreeRDP_MonitorLocalShiftY: - return settings->MonitorLocalShiftY; - case FreeRDP_MultifragMaxRequestSize: return settings->MultifragMaxRequestSize; @@ -2001,6 +1995,12 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, FreeRDP_Settings case FreeRDP_VCFlags: return settings->VCFlags; + case (FreeRDP_Settings_Keys_UInt32)FreeRDP_MonitorLocalShiftX: + return (UINT32)settings->MonitorLocalShiftX; + + case (FreeRDP_Settings_Keys_UInt32)FreeRDP_MonitorLocalShiftY: + return (UINT32)settings->MonitorLocalShiftY; + default: WLog_ERR(TAG, "Invalid key index %" PRIuz " [%s|%s]", id, freerdp_settings_get_name_for_key(id), @@ -2277,14 +2277,6 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, FreeRDP_Settings_Keys_UI settings->MonitorFlags = cnv.c; break; - case FreeRDP_MonitorLocalShiftX: - settings->MonitorLocalShiftX = cnv.c; - break; - - case FreeRDP_MonitorLocalShiftY: - settings->MonitorLocalShiftY = cnv.c; - break; - case FreeRDP_MultifragMaxRequestSize: settings->MultifragMaxRequestSize = cnv.c; break; diff --git a/libfreerdp/common/settings_str.h b/libfreerdp/common/settings_str.h index 9691e7e89..30769e3d2 100644 --- a/libfreerdp/common/settings_str.h +++ b/libfreerdp/common/settings_str.h @@ -362,8 +362,6 @@ static const struct settings_str_entry settings_map[] = { { FreeRDP_MonitorCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorCount" }, { FreeRDP_MonitorDefArraySize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorDefArraySize" }, { FreeRDP_MonitorFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorFlags" }, - { FreeRDP_MonitorLocalShiftX, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorLocalShiftX" }, - { FreeRDP_MonitorLocalShiftY, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorLocalShiftY" }, { FreeRDP_MultifragMaxRequestSize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MultifragMaxRequestSize" }, { FreeRDP_MultitransportFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MultitransportFlags" }, diff --git a/libfreerdp/core/test/settings_property_lists.h b/libfreerdp/core/test/settings_property_lists.h index f9df959df..244da35ed 100644 --- a/libfreerdp/core/test/settings_property_lists.h +++ b/libfreerdp/core/test/settings_property_lists.h @@ -281,8 +281,6 @@ static const size_t uint32_list_indices[] = { FreeRDP_MonitorCount, FreeRDP_MonitorDefArraySize, FreeRDP_MonitorFlags, - FreeRDP_MonitorLocalShiftX, - FreeRDP_MonitorLocalShiftY, FreeRDP_MultifragMaxRequestSize, FreeRDP_MultitransportFlags, FreeRDP_NSCodecColorLossLevel, diff --git a/tools/update-settings-tests b/tools/update-settings-tests index 582c88e40..4ef774f68 100755 --- a/tools/update-settings-tests +++ b/tools/update-settings-tests @@ -79,11 +79,14 @@ def write_str(f, entry_dict): f.write('};\n\n') f.write('\n') -def write_getter_case(f, val, cast): - f.write('\t\tcase FreeRDP_' + val + ':\n') +def write_getter_case(f, val, cast, typestr): + f.write('\t\tcase ') + if typestr: + f.write('(' + typestr + ')') + f.write('FreeRDP_' + val + ':\n') f.write('\t\t\treturn ' + cast + 'settings->' + val + ';\n\n') -def write_getter_body(f, values, ret, keys, isPointer): +def write_getter_body(f, values, ret, keys, isPointer, compat_values, typestr, entry_type): f.write('{\n') f.write('\tWINPR_ASSERT(settings);\n\n') f.write('\tswitch (id)\n') @@ -96,7 +99,12 @@ def write_getter_body(f, values, ret, keys, isPointer): key = keys[i] if key != 'void*': cast = '(void*)' - write_getter_case(f, val, cast) + write_getter_case(f, val, cast, None) + if compat_values: + for i in range(len(compat_values)): + val = compat_values[i] + cast = '(' + entry_type + ')' + write_getter_case(f, val, cast, typestr) f.write('\t\tdefault:\n') f.write('\t\t\tWLog_ERR(TAG, "Invalid key index %" PRIuz " [%s|%s]", id, freerdp_settings_get_name_for_key(id), freerdp_settings_get_type_name_for_key(id));\n') f.write('\t\t\tWINPR_ASSERT(FALSE);\n') @@ -104,11 +112,12 @@ def write_getter_body(f, values, ret, keys, isPointer): f.write('\t}\n') f.write('}\n\n') -def write_getter(f, entry_dict, entry_type, entry_name, postfix): +def write_getter(f, entry_dict, entry_type, entry_name, postfix, compat_dict): isString = 'string' in entry_name isPointer = 'pointer' in entry_name copy = dict(entry_dict) values = get_values(entry_dict, entry_type) + compat_values = get_values(compat_dict, entry_type) keys = get_keys(copy, entry_type, values) typestr = 'FreeRDP_Settings_Keys_' + entry_name.capitalize() @@ -132,11 +141,11 @@ def write_getter(f, entry_dict, entry_type, entry_name, postfix): else: ret = '0'; - write_getter_body(f, values, ret, keys, isPointer) + write_getter_body(f, values, ret, keys, isPointer, compat_values, typestr, entry_type) if isString: f.write('char* freerdp_settings_get_' + entry_name.lower() + '_writable(rdpSettings* settings, ' + typestr + ' id)\n') - write_getter_body(f, values, ret, keys, isPointer) + write_getter_body(f, values, ret, keys, isPointer, compat_values, typestr, entry_type) def write_setter_case(f, val, postfix, isPointer, cast): f.write('\t\tcase FreeRDP_' + val + ':\n') @@ -325,26 +334,29 @@ try: setter_list = dict(type_list) setter_list2 = dict(type_list) # Compatibility with older 3.x releases where the value was wrongly an unsigned type - getter_list['UINT32'].append('MonitorLocalShiftX') - getter_list['UINT32'].append('MonitorLocalShiftY') - write_getter(f, getter_list, 'BOOL', 'bool', '') + compat_getter_list = dict() + compat_getter_list['UINT32'] = list() + compat_getter_list['UINT32'].append('MonitorLocalShiftX') + compat_getter_list['UINT32'].append('MonitorLocalShiftY') + + write_getter(f, getter_list, 'BOOL', 'bool', '', compat_getter_list) write_setter(f, setter_list, 'BOOL', 'bool', '') - write_getter(f, getter_list, 'UINT16', 'uint16', '') + write_getter(f, getter_list, 'UINT16', 'uint16', '', compat_getter_list) write_setter(f, setter_list, 'UINT16', 'uint16', '') - write_getter(f, getter_list, 'INT16', 'int16', '') + write_getter(f, getter_list, 'INT16', 'int16', '', compat_getter_list) write_setter(f, setter_list, 'INT16', 'int16', '') - write_getter(f, getter_list, 'UINT32', 'uint32', '') + write_getter(f, getter_list, 'UINT32', 'uint32', '', compat_getter_list) write_setter(f, setter_list, 'UINT32', 'uint32', '') - write_getter(f, getter_list, 'INT32', 'int32', '') + write_getter(f, getter_list, 'INT32', 'int32', '', compat_getter_list) write_setter(f, setter_list, 'INT32', 'int32', '') - write_getter(f, getter_list, 'UINT64', 'uint64', '') + write_getter(f, getter_list, 'UINT64', 'uint64', '', compat_getter_list) write_setter(f, setter_list, 'UINT64', 'uint64', '') - write_getter(f, getter_list, 'INT64', 'int64', '') + write_getter(f, getter_list, 'INT64', 'int64', '', compat_getter_list) write_setter(f, setter_list, 'INT64', 'int64', '') - write_getter(f, getter_list, 'char*', 'string', '_') + write_getter(f, getter_list, 'char*', 'string', '_', compat_getter_list) write_setter(f, setter_list, 'char*', 'string', '_') write_setter(f, setter_list2, 'char*', 'string', '_copy_') - write_getter(f, getter_list, '*', 'pointer', '') + write_getter(f, getter_list, '*', 'pointer', '', compat_getter_list) write_setter(f, setter_list, '*', 'pointer', '') f.write('\n')