rubidium42
da425711e1
Fix: String validation could leave invalid Utf8 encoded strings ( #9096 )
...
In case a character was encoded in multiple bytes, but required fewer bytes to be encoded, the first byte would be copied to the output leaving an invalid Utf8 encoded string. Later uses of the validated string would use the same decode logic, which would yield a question mark and just read a single byte, so nothing dangerous happened.
Furthermore, because the next byte would not be a first byte of an encoded Utf8 character, the last few valid characters could be removed by the validation as well.
(cherry picked from commit f00564eeb2
)
2021-05-06 19:37:50 +01:00
Jonathan G Rennison
253772e9af
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# COMPILING.md
# src/console.cpp
# src/console_cmds.cpp
# src/console_internal.h
# src/rev.cpp.in
2021-04-25 02:14:58 +01:00
rubidium42
5202869f0f
Add: String functionality to trim spaces from C-style strings
2021-04-24 08:02:54 +02:00
Jonathan G Rennison
fa2f3ed104
Cheats window: Allow clicking money text to enter quantity
2021-03-21 12:52:01 +00:00
Jonathan G Rennison
b7ddd486cf
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/aircraft_cmd.cpp
# src/blitter/32bpp_anim.cpp
# src/cargopacket.cpp
# src/cheat_gui.cpp
# src/company_cmd.cpp
# src/company_gui.cpp
# src/core/pool_func.hpp
# src/date.cpp
# src/economy.cpp
# src/error_gui.cpp
# src/ground_vehicle.cpp
# src/ground_vehicle.hpp
# src/group_gui.cpp
# src/industry_cmd.cpp
# src/lang/dutch.txt
# src/lang/french.txt
# src/lang/german.txt
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/mcf.cpp
# src/network/network_content.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/newgrf_engine.cpp
# src/newgrf_station.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/pathfinder/follow_track.hpp
# src/pathfinder/yapf/yapf_common.hpp
# src/saveload/saveload.cpp
# src/settings_gui.cpp
# src/station_cmd.cpp
# src/station_kdtree.h
# src/string_func.h
# src/table/settings.ini
# src/tgp.cpp
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/train_cmd.cpp
# src/train_gui.cpp
# src/tree_gui.cpp
# src/tunnelbridge_cmd.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
# src/viewport.cpp
# src/viewport_sprite_sorter_sse4.cpp
# src/window.cpp
2021-02-01 17:07:34 +00:00
Jonathan G Rennison
6c3e5642f8
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/crashlog.cpp
# src/fileio.cpp
# src/fileio_func.h
# src/fios_gui.cpp
# src/ini_load.cpp
# src/ini_type.h
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/network/network_client.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/os/windows/win32.cpp
# src/road_cmd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/settings.cpp
# src/station_cmd.cpp
# src/stdafx.h
# src/table/settings.ini
# src/tree_cmd.cpp
# src/tree_gui.cpp
# src/vehicle_base.h
# src/video/cocoa/cocoa_v.mm
# src/video/cocoa/event.mm
# src/video/cocoa/wnd_quartz.mm
# src/viewport.cpp
# src/widgets/tree_widget.h
2021-01-31 01:08:35 +00:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Michael Lutz
024a3f6259
Codechange: Use automatic memory management for language pack reading.
2020-12-27 13:19:25 +01:00
Michael Lutz
0c6e8a8123
Codechange: Store file search paths as std::string.
2020-12-27 13:19:25 +01:00
Jonathan G Rennison
bfbd2de477
Fix decimal settings not permitting typing a '-' character
2020-12-21 20:34:38 +00:00
Jonathan G Rennison
d328f359c9
Add string function to strip all SCC characters
2020-12-16 02:04:57 +00:00
Jonathan G Rennison
43c538fa7d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/town_cmd.cpp
2020-06-05 17:07:58 +01:00
Marcus Calhoun-Lopez
eeed3a7613
Fix: unbreak building with ICU on macOS
...
A symbol clash breaks building ICU on macOS, and although it isn't
necessary, it might as well be possible.
2020-06-05 14:47:33 +01:00
Jonathan G Rennison
f8d6e781ba
Merge branch 'master' into jgrpp
...
# Conflicts:
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj.filters
# src/base_consist.h
# src/company_base.h
# src/newgrf_config.cpp
# src/newgrf_config.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
# src/settings.cpp
# src/signs_base.h
# src/string.cpp
# src/string_func.h
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/town_cmd.cpp
# src/vehicle.cpp
# src/vehicle_cmd.cpp
# src/video/cocoa/cocoa_v.mm
# src/video/null_v.cpp
2020-05-21 22:24:01 +01:00
Michael Lutz
715aa67a9c
Codechange: Use std::string in INI file parsing.
2020-05-21 20:02:34 +02:00
Michael Lutz
c082f570ce
Codechange: Use std::string when translating TTDP NewGRF string codes.
2020-05-21 20:02:34 +02:00
Jonathan G Rennison
cbdd9f84d8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console_gui.cpp
# src/lang/korean.txt
# src/video/sdl2_v.cpp
# src/video/sdl2_v.h
# src/window.cpp
# src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Jonathan G Rennison
68dbbf5945
Add std::string format functions
2019-05-23 22:53:17 +01:00
Jonathan G Rennison
674732cd68
Merge: Codechange: Use null pointer literal instead of the NULL macro
2019-04-11 18:14:13 +01:00
Jonathan G Rennison
f5747bf753
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/genworld_gui.cpp
# src/group_gui.cpp
# src/saveload/saveload.cpp
# src/settings_gui.cpp
# src/toolbar_gui.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
# src/widgets/dropdown.cpp
# src/widgets/dropdown_type.h
2019-04-11 18:12:22 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Michael Lutz
fbc4cef180
Codechange: Use override specifier for text layout classes.
2019-04-09 22:45:15 +02:00
Jonathan G Rennison
ba34ec7ade
Merge branch 'master' into jgrpp
...
Replace build and refit, and group collapse implementations
Fix template creation build and refit
# Conflicts:
# Makefile.bundle.in
# config.lib
# src/animated_tile.cpp
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_base.hpp
# src/blitter/8bpp_base.hpp
# src/blitter/null.hpp
# src/build_vehicle_gui.cpp
# src/command.cpp
# src/command_func.h
# src/console_gui.cpp
# src/core/smallstack_type.hpp
# src/date.cpp
# src/debug.cpp
# src/genworld_gui.cpp
# src/ground_vehicle.hpp
# src/group_gui.cpp
# src/lang/korean.txt
# src/linkgraph/linkgraph_gui.h
# src/main_gui.cpp
# src/misc_gui.cpp
# src/network/core/game.h
# src/network/core/packet.cpp
# src/network/core/udp.cpp
# src/network/core/udp.h
# src/network/network_content.cpp
# src/network/network_type.h
# src/network/network_udp.cpp
# src/newgrf_house.h
# src/openttd.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/os/unix/crashlog_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/osk_gui.cpp
# src/pathfinder/opf/opf_ship.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/saveload/saveload.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/smallmap_gui.h
# src/station_base.h
# src/station_cmd.cpp
# src/table/gameopt_settings.ini
# src/table/newgrf_debug_data.h
# src/table/settings.ini
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/vehiclelist.cpp
# src/viewport.cpp
# src/widgets/dropdown.cpp
# src/window_gui.h
2019-03-27 18:12:04 +00:00
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
2019-03-26 20:15:57 +00:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
2019-03-26 20:15:57 +00:00
Jonathan G Rennison
5e6d283463
Merge branch 'master' into jgrpp
...
Remove the viewport sign cache as this is now superseded by the kd tree
implementation
# Conflicts:
# src/crashlog.cpp
# src/lang/english.txt
# src/misc.cpp
# src/pathfinder/follow_track.hpp
# src/pbs.cpp
# src/rail_cmd.cpp
# src/saveload/vehicle_sl.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/ship_cmd.cpp
# src/station.cpp
# src/station_base.h
# src/station_cmd.cpp
# src/table/settings.ini
# src/thread/thread_morphos.cpp
# src/town_cmd.cpp
# src/train_cmd.cpp
# src/viewport.cpp
# src/waypoint.cpp
2019-03-13 03:38:26 +00:00
Patric Stout
36105841b9
Codechange: ICU_SORT is in reality ICU_I18N (according to their CMake files)
...
By naming it in a different way, things get a bit confusing.
Especially if we are switching to CMake, which autodetects these
things, we need to use the name the authors of ICU gave it; not
our interpertation of that name.
2019-03-11 10:16:00 +01:00
Jonathan G Rennison
4f1d54564e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/debug.cpp
2019-01-02 16:09:44 +00:00
glx
c540d72445
Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32
2018-12-27 18:09:16 +01:00
Jonathan G Rennison
2003a86932
Merge remote-tracking branch 'origin/master' into jgrpp
...
# Conflicts:
# src/string.cpp
2018-12-10 18:40:05 +00:00
Michael Lutz
4bf216993a
Add: [OSX] Native text caret handling.
2018-12-08 20:13:27 +01:00
Michael Lutz
8d7cd6a526
Add: [OSX] Native natural sort implementation.
2018-12-08 20:13:27 +01:00
Jonathan G Rennison
e735c1a51a
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/aircraft_cmd.cpp
# src/autoreplace_cmd.cpp
# src/pathfinder/follow_track.hpp
# src/pathfinder/yapf/yapf_rail.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.cpp
# src/script/api/ai/ai_station.hpp.sq
# src/script/api/game/game_station.hpp.sq
# src/script/api/script_station.hpp
# src/track_func.h
# src/vehicle_base.h
2018-11-05 12:53:36 +00:00
Charles Pigott
52ed3bcbaa
Remove: A few bits of dead code
2018-10-31 12:41:49 +01:00
Charles Pigott
e0c0394e37
Fix: Remove various dead or unnecessary assignments
2018-10-31 12:41:49 +01:00
Jonathan G Rennison
b48a6ef368
Revert "Revert "Add: [Win32] Uniscribe configure options for MinGW targets.""
...
This reverts commit ca4a4869a2
.
2018-06-25 18:39:59 +01:00
Jonathan G Rennison
ca4a4869a2
Revert "Add: [Win32] Uniscribe configure options for MinGW targets."
...
Revert "Change: [Win32] Use Uniscribe instead of ICU for text caret handling."
Revert "Change: [Win32/MSVC] Make the Uniscribe text layouter the windows default and remove usage of the deprecated ICU layout libs."
Revert "Add: [Win32] Text layout using the native Windows Uniscribe library."
Revert "Codechange: Move ParagraphLayouter-specific functions into factory classes instead of relying on overloads."
Revert "Add: [Win32] Native natural sort implementation."
This reverts commit cd966f3810
.
This reverts commit eec3f40931
.
This reverts commit 33829dc6ab
.
This reverts commit 768a31bfe3
.
This reverts commit a4278c302b
.
This reverts commit f4394debdc
.
This is to fix various problems and crashes with text rendering
and font handling on Windows.
See #58 .
2018-06-13 01:46:19 +01:00
Jonathan G Rennison
8e9d68048a
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/string.cpp
2018-06-07 06:49:18 +01:00
Michael Lutz
eec3f40931
Change: [Win32] Use Uniscribe instead of ICU for text caret handling.
...
This removes the need for the ICU lib on Windows.
2018-06-06 21:37:09 +02:00
Michael Lutz
f4394debdc
Add: [Win32] Native natural sort implementation.
2018-06-06 21:37:09 +02:00
Jonathan G Rennison
8317eac918
Merge branch 'save_ext' into jgrpp
...
# Conflicts:
# src/lang/german.txt
# src/lang/korean.txt
# src/lang/traditional_chinese.txt
# src/window.cpp
2017-04-01 01:14:28 +01:00
Jonathan G Rennison
dd0666c5f4
Add support for save/loading std::strings.
2017-03-29 19:41:06 +01:00
Jonathan G Rennison
1276f5345d
Implement a natural sort function to use if ICU is not usable.
2017-01-24 00:24:18 +00:00
Jonathan G Rennison
f0fee802a9
Merge branch 'tracerestrict-sx' into jgrpp
...
# Conflicts:
# src/lang/english.txt
# src/settings_gui.cpp
# src/settings_type.h
# src/table/settings.ini
# src/vehicle_gui.cpp
2016-07-05 22:34:50 +01:00
Jonathan G Rennison
ed33a62bcd
Merge branch 'tracerestrict' into tracerestrict-sx
2016-07-05 22:19:34 +01:00
Jonathan G Rennison
8ec1b2200e
Change tracerestrict weight ratio properties to use decimals, and the weight unit.
...
Add {POWER_WEIGHT_RATIO} and {FORCE_WEIGHT_RATIO} string codes.
2016-07-05 21:20:06 +01:00