From 9adf1acb506069c5b2ac6568badabd06b53d0390 Mon Sep 17 00:00:00 2001 From: kichik Date: Sun, 22 Jun 2003 13:44:02 +0000 Subject: [PATCH] Find all directories and make sure found entries are directories git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2666 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/StartMenu/StartMenu.c | 31 +++++++++++++++++++------------ Plugins/StartMenu.dll | Bin 6656 -> 6656 bytes 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/Contrib/StartMenu/StartMenu.c b/Contrib/StartMenu/StartMenu.c index f578c126..6521e4ff 100644 --- a/Contrib/StartMenu/StartMenu.c +++ b/Contrib/StartMenu/StartMenu.c @@ -334,20 +334,27 @@ void AddFolderFromReg(HKEY rootKey) RegCloseKey(hKey); } - lstrcat(buf, "\\*."); + lstrcat(buf, "\\*.*"); hSearch = FindFirstFile(buf, &FileData); - if (hSearch != INVALID_HANDLE_VALUE) do + if (hSearch != INVALID_HANDLE_VALUE) { - if (*(WORD*)FileData.cFileName != *(WORD*)".") + do { - if (*(WORD*)FileData.cFileName != *(WORD*)".." || FileData.cFileName[2]) + if (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { - if (SendMessage(hwDirList, LB_FINDSTRINGEXACT, -1, (LPARAM)FileData.cFileName) == LB_ERR) - SendMessage(hwDirList, LB_ADDSTRING, 0, (LPARAM)FileData.cFileName); - /*idx = */ - /*SendMessage(hwDirList, LB_SETITEMDATA, (WPARAM)idx, - (LPARAM)ExtractAssociatedIcon(g_hInstance, FileData.cFileName, (WORD*)&idx));*/ - } - } - } while (FindNextFile(hSearch, &FileData)); + if (*(WORD*)FileData.cFileName != *(WORD*)".") + { + if (*(WORD*)FileData.cFileName != *(WORD*)".." || FileData.cFileName[2]) + { + if (SendMessage(hwDirList, LB_FINDSTRINGEXACT, -1, (LPARAM)FileData.cFileName) == LB_ERR) + SendMessage(hwDirList, LB_ADDSTRING, 0, (LPARAM)FileData.cFileName); + /*idx = */ + /*SendMessage(hwDirList, LB_SETITEMDATA, (WPARAM)idx, + (LPARAM)ExtractAssociatedIcon(g_hInstance, FileData.cFileName, (WORD*)&idx));*/ + } + } + } + } while (FindNextFile(hSearch, &FileData)); + FindClose(hSearch); + } } \ No newline at end of file diff --git a/Plugins/StartMenu.dll b/Plugins/StartMenu.dll index 4f500fae717fcaff4e2da615b6efd4b30f16d52b..d7678f8769e7dad7b3ad16d5a7beb37761927b9b 100644 GIT binary patch delta 1421 zcmc(fe{54#6vyxF)?ap$*TKW-kaf1n2CQ+DJ=0=`LpHV;VqPp=@#luD$y-y{+}^^5 zi>tZ`q%2uE{INtdGx!JmGsQ)RiG=b)jm8)v8bV?WiAxL)l7orfkwN_p`^CU8Z|B55K)goBa{)h?^Z+qNIfU#D_*c83M{kBm~AKEq+``~A*D(Dh-@oKut zt9hKbZ6CigGh{ok_~g?KSRgbR7wUG{ z8^xjKK;2W{n5FS0xeapMxLd}QXfh$Rv?kX!L(FJRWY{C#h}?H`yg8u6VliE)I(=rZ z4jhI$mK*R$9pVJsaL}x0ig`+C7dOcyM~^rvc^mm0Pn5|zGNlH>8AtmeF4P+8a)kLB z`oIz7FVpu9Ki^4tM+ZMhx--H@Y25iZPtzG^keAcEa}6IRmurLjpiGm`G!9b4aVuNY}u#-gJR(?}AA%4ZZ|j;1_TM+yf6H?<1fVgg_g35hTHWKYNKChH(r`105S8 zpcec9tg(2QwAVsYe2D);yNG>w|11xdh7CVd=F3*C{=Yx3?LR;7i=tG&*|)oQXbbvX zu=n(KZ(+B2YpUn9U8!w-i3B=JAFl{L^hqJU%f#BR*tYJyU0YK<{R#SgMU0=MMn&Tz z)UQwHWFA;(t0Zp>83NC6USayMby2``(`k4}S!Nx~t?B%cXl5?T&Lf1pZ;Z@o45(a$mNkbxDzzYLnr16KP7^Jdg4tqYv0cK| zG-0(+XwFNZ121R|ran{?|FoA{Y}$yasnz&k(uZO+h6f)&XhZ4?0qyvmJ+6&D`06B| zo%w#}H^2Su?CjcgcHM~G-#l^b3R|5U&r$rxx$!(l&yPQZ{%z=d^zoUQaYBFPubWPP z`{zZce}3OyQ?8|dHKUnm2XoU?4Sid4Q?qnWg`atd3gB#X+)=U1M`5BCsQ37bEab8o z|G>35KL|ZqQO18{3cH{G#41?}XRbbWD|6WO6&_r4RER$ohy?OR9B7=-)gclZ>43l(Qxt^lU1Y zb)?prm`-`xjx(W!d8enImGJjH5%vQA!4qP;`I4ud4RFI7V>VBFA7e-OC2xdP^9An) zmgI`^sBb`~SxPlnJf?&&-=PG(J<@w%KOa)+I!ug3uOhCS^VkbH(#Bw!3s9$Kw`M1^ z*6-4qmUZ5VT9npr|A@LFt{uUF(&;Z?rGZ~0G_ zSIbm`ledL1+JqK_N-ZB1!g?*GAA#WK3tukWfC0|HyX||vyNu&H-~WAx=vQzN$abNE z=qmUW%zL}@=Ru-_U;s>j)4%{%!3>xKE5L)iB_Isyz|)`&yb6*bO3*L{ z6Cj4*Do_G00NMTwI-PSVfTu!-*9ws4=U9icPKzMdZo;GBXvO;f`_Ufx&qw?|uUOlNuNKAG$9$Kn-JTK;UH_TFQ6-Q8VDZPwn4NK#yuo}^(XXSk(bcG*zg61rBKjMsxrl23