From 02ea538eb3e263e19a7b68de17fbd0f61aaf1b60 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 29 Aug 2025 07:08:17 +0000 Subject: [PATCH] Fix New+ context menu not showing folders with only numbers Co-authored-by: yeelam-gordon <73506701+yeelam-gordon@users.noreply.github.com> --- .../NewShellExtensionContextMenu/template_item.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/modules/NewPlus/NewShellExtensionContextMenu/template_item.cpp b/src/modules/NewPlus/NewShellExtensionContextMenu/template_item.cpp index a7ddfe835f..1bfbf9e8ef 100644 --- a/src/modules/NewPlus/NewShellExtensionContextMenu/template_item.cpp +++ b/src/modules/NewPlus/NewShellExtensionContextMenu/template_item.cpp @@ -60,7 +60,17 @@ std::wstring template_item::get_target_filename(const bool include_starting_digi std::wstring template_item::remove_starting_digits_from_filename(std::wstring filename) const { - filename.erase(0, min(filename.find_first_not_of(L"0123456789"), filename.size())); + // Find first non-digit character + size_t first_non_digit = filename.find_first_not_of(L"0123456789"); + + // If the string consists only of digits, don't remove anything + if (first_non_digit == std::wstring::npos) + { + return filename; + } + + // Otherwise, remove starting digits as before + filename.erase(0, first_non_digit); filename.erase(0, min(filename.find_first_not_of(L" ."), filename.size())); return filename;