5e2982c509
take popup option names by const reference, not by pointer
...
POPUP_OPTION copies the name it is given -- `this->name = *newName` into a
std::wstring member -- but its constructor took a std::wstring*, so 64 call
sites spelled the argument `&std::wstring( pStr )`. Taking the address of a
temporary is ill-formed, and clang refuses it outright:
error: taking the address of a temporary object of type 'std::wstring'
It happens to work under MSVC because the temporary outlives the call, dying
at the end of the full expression rather than before the copy. Nothing was
corrupt; the code was just spelling "pass me a string" in a way the language
does not allow.
A const reference says what these functions actually want, so the call sites
lose the &, and the two places that allocated a string purely to have an
address to pass -- POPUP_SUB_POPUP_OPTION's default constructor, which carried
a "TODO: possible memmory leak!" saying as much, and a "Dummy generator"
option -- stop leaking one.
Converted: POPUP_OPTION's constructor and setName, POPUP::addOption and
addSubMenuOption, and both POPUP_SUB_POPUP_OPTION constructors. The popupDef
family in popup_definition.* keeps its std::wstring* because it owns what it
is handed and stores the pointer; that is a different design and a different
change. The three calls it makes into the converted API now dereference.
Verification:
grep -rn '&std::wstring' --include=*.cpp --include=*.h . # nothing
ninja -C build parse # no popup_* or SkillMenu sites remain
ninja -C build -k 0 # Release, four applications, green
ninja -C build-debug -k 0 # Debug, four applications, green
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-23 19:29:55 -03:00
..
2026-05-28 16:33:48 +03:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-11-19 21:11:19 +02:00
2017-10-15 17:10:49 +00:00
2025-12-09 00:35:18 +02:00
2024-11-17 16:25:12 +02:00
2026-06-12 15:52:24 +03:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2020-07-24 19:27:34 +00:00
2025-11-19 21:11:19 +02:00
2024-12-14 19:05:48 -03:00
2023-10-07 09:13:55 -03:00
2026-02-07 12:03:03 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-09-24 16:14:10 +03:00
2026-01-03 17:27:43 +02:00
2023-08-09 18:36:44 -07:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2024-08-13 00:29:48 +03:00
2025-12-09 00:35:18 +02:00
2025-06-22 12:43:33 +03:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2026-02-21 21:00:38 +02:00
2019-08-11 07:49:47 +00:00
2025-12-09 00:35:18 +02:00
2024-11-19 23:20:45 +02:00
2025-12-09 00:35:18 +02:00
2025-09-24 16:14:10 +03:00
2026-01-03 17:27:43 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-09-24 16:14:10 +03:00
2025-12-09 00:35:18 +02:00
2016-08-02 19:03:28 +00:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2026-07-02 19:16:55 +03:00
2024-11-18 01:01:57 +02:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2026-06-12 15:52:24 +03:00
2026-07-23 19:29:55 -03:00
2025-09-24 16:14:10 +03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-09-24 16:14:10 +03:00
2025-08-16 22:01:12 -03:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-11-23 18:28:17 +02:00
2025-11-11 20:14:46 +02:00
2026-06-12 15:52:24 +03:00
2025-08-08 18:00:31 +03:00
2025-12-09 00:35:18 +02:00
2025-08-08 18:00:31 +03:00
2025-12-09 00:35:18 +02:00
2026-07-21 05:33:03 -03:00
2026-06-12 15:52:24 +03:00
2025-12-09 00:35:18 +02:00
2026-06-15 22:01:07 +03:00
2026-06-15 22:01:07 +03:00
2025-12-09 00:35:18 +02:00
2024-11-17 23:45:48 +02:00
2026-01-03 17:27:43 +02:00
2024-11-17 23:45:48 +02:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-09-24 16:14:10 +03:00
2026-06-20 20:03:16 +03:00
2025-09-24 16:14:10 +03:00
2026-06-01 21:45:55 -03:00
2025-08-16 22:01:12 -03:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-08-15 22:52:43 +02:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2026-06-15 22:01:07 +03:00
2025-08-16 22:01:12 -03:00
2024-12-14 19:05:48 -03:00
2026-06-12 15:52:24 +03:00
2024-11-17 19:41:34 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2026-07-23 19:29:55 -03:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-11-18 18:50:20 +02:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2026-06-15 22:01:07 +03:00
2026-06-15 22:01:07 +03:00
2025-12-09 00:35:18 +02:00
2025-09-24 16:14:10 +03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-08-16 22:01:12 -03:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2026-06-12 15:52:24 +03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-08-08 16:39:52 +03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-08-08 18:00:31 +03:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2026-06-12 15:52:24 +03:00
2026-06-12 15:52:24 +03:00
2024-12-14 19:05:48 -03:00
2026-07-23 19:29:55 -03:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-09-24 16:14:10 +03:00
2026-07-02 19:16:55 +03:00
2024-11-17 22:29:31 +02:00
2025-12-09 00:35:18 +02:00
2025-09-24 16:14:10 +03:00
2023-01-03 15:51:48 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2024-03-19 19:37:16 +01:00
2025-12-09 00:35:18 +02:00
2023-01-03 15:51:48 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2023-01-03 15:51:48 +02:00
2023-01-03 15:51:48 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2023-01-03 15:51:48 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2023-01-03 15:51:48 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2026-07-21 05:33:03 -03:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2024-12-14 19:05:48 -03:00
2025-12-09 00:35:18 +02:00
2023-01-03 15:51:48 +02:00
2023-01-03 15:51:48 +02:00
2025-12-09 00:35:18 +02:00
2025-08-16 22:01:12 -03:00
2025-08-16 22:01:12 -03:00
2025-08-16 22:01:12 -03:00
2023-01-03 15:51:48 +02:00
2025-12-09 00:35:18 +02:00
2025-12-09 00:35:18 +02:00
2024-08-13 00:29:48 +03:00
2026-01-03 17:27:43 +02:00