https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a08b83a90ba494dfe62b8b...
commit a08b83a90ba494dfe62b8bf618e548c4926666ea Author: Joachim Henze joachim.henze@reactos.org AuthorDate: Mon Feb 26 13:42:13 2024 +0100 Commit: GitHub noreply@github.com CommitDate: Mon Feb 26 13:42:13 2024 +0100
[SHELL32] Fix 2 compiler warnings for the rls-cfg 'unused variable' (#6539)
I noticed it on releases/0.4.10 with the RosBEWin2.1.6 GCC4.7.2 *rls* configuration:
C:/0410rls/reactos/dll/win32/shell32/dialogs/filetypes.cpp: In function 'BOOL FileTypesDlg_InsertToLV(HWND, LPCWSTR, INT, LPCWSTR)': C:/0410rls/reactos/dll/win32/shell32/dialogs/filetypes.cpp:663:9: warning: variable 'iLargeImage' set but not used [-Wunused-but-set-variable] C:/0410rls/reactos/dll/win32/shell32/dialogs/filetypes.cpp: In function 'BOOL EditTypeDlg_UpdateEntryIcon(HWND, PEDITTYPE_DIALOG, LPCWSTR, INT)': C:/0410rls/reactos/dll/win32/shell32/dialogs/filetypes.cpp:1040:9: warning: unused variable 'iLargeImage' [-Wunused-variable]
But I do assume, that MSVC compilers would also complain about that in *rls* cfg.
Please notice that before 0.4.10-dev-202-g 698cbc6184722f29389ccd75ca96d88d6cd4b010 which did splitup and restructure the code this function was placed within the file folder_options.cpp and was named InsertFileType(HWND hDlgCtrl, WCHAR * szName, PINT iItem, WCHAR * szFile) and not yet within file_types.cpp with the new name FileTypesDlg_InsertToLV(HWND hListView, LPCWSTR szName, INT iItem, LPCWSTR szFile) Back then it did not have the iLargeImage variable yet, and it also didn't warn upon rls-cfg-compilation. Therefore 0.4.10-dev-202-g 698cbc6184722f29389ccd75ca96d88d6cd4b010 from (#582) is indeed the *guilty revision* (2018-06-06). It was done in the very first commit of that PR https://github.com/reactos/reactos/pull/582/commits/2fe0eab7216425f6b963e55f... It's bad practice to move and refactor/extend code in functionality within the very same commit, as it makes reviewing the changes much harder.
That assert never fired for the last 6 years, therefore it would have been okay also to strip it together with the variable, but using DBG_UNREFERENCED_LOCAL_VARIABLE(iLargeImage); allows to keep the assert for master. --- dll/win32/shell32/dialogs/filetypes.cpp | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dll/win32/shell32/dialogs/filetypes.cpp b/dll/win32/shell32/dialogs/filetypes.cpp index ad394c8b1d3..2c245d717ba 100644 --- a/dll/win32/shell32/dialogs/filetypes.cpp +++ b/dll/win32/shell32/dialogs/filetypes.cpp @@ -666,6 +666,7 @@ FileTypesDlg_InsertToLV(HWND hListView, LPCWSTR szName, INT iItem, LPCWSTR szFil iLargeImage = ImageList_AddIcon(himlLarge, Entry->hIconLarge); iSmallImage = ImageList_AddIcon(himlSmall, Entry->hIconSmall); ASSERT(iLargeImage == iSmallImage); + DBG_UNREFERENCED_LOCAL_VARIABLE(iLargeImage); }
// Do not add excluded entries @@ -1041,6 +1042,7 @@ EditTypeDlg_UpdateEntryIcon(HWND hwndDlg, PEDITTYPE_DIALOG pEditType, INT iLargeImage = ImageList_AddIcon(himlLarge, pEntry->hIconLarge); INT iSmallImage = ImageList_AddIcon(himlSmall, pEntry->hIconSmall); ASSERT(iLargeImage == iSmallImage); + DBG_UNREFERENCED_LOCAL_VARIABLE(iLargeImage);
INT iItem = ListView_GetNextItem(hListView, -1, LVNI_SELECTED); if (iItem != -1)