Fix wrong file extension being removed in demo cut popup

The `.demo` extension is supposed to be removed from the target filename when slicing demos, but anything after the last dot was being removed instead, e.g. `test.abc.def` was incorrectly replaced with `test.abc`.
This commit is contained in:
Robert Müller 2024-06-05 21:04:03 +02:00
parent 151956294d
commit ca89162b06

View file

@ -830,13 +830,15 @@ void CMenus::RenderDemoPlayerSliceSavePopup(CUIRect MainView)
static CButtonContainer s_ButtonOk;
if(DoButton_Menu(&s_ButtonOk, Localize("Ok"), 0, &OkButton) || (!Ui()->IsPopupOpen() && Ui()->ConsumeHotkey(CUi::HOTKEY_ENTER)))
{
if(str_endswith(m_DemoSliceInput.GetString(), ".demo"))
{
char aNameWithoutExt[IO_MAX_PATH_LENGTH];
fs_split_file_extension(m_DemoSliceInput.GetString(), aNameWithoutExt, sizeof(aNameWithoutExt));
m_DemoSliceInput.Set(aNameWithoutExt);
}
char aDemoName[IO_MAX_PATH_LENGTH];
char aNameWithoutExt[IO_MAX_PATH_LENGTH];
DemoPlayer()->GetDemoName(aDemoName, sizeof(aDemoName));
fs_split_file_extension(m_DemoSliceInput.GetString(), aNameWithoutExt, sizeof(aNameWithoutExt));
m_DemoSliceInput.Set(aNameWithoutExt);
if(str_comp(aDemoName, m_DemoSliceInput.GetString()) == 0)
{
static CUi::SMessagePopupContext s_MessagePopupContext;