From dc783e9ff8de2742fefd598d9b6a923f01da7688 Mon Sep 17 00:00:00 2001 From: kichik Date: Fri, 18 Apr 2003 20:01:23 +0000 Subject: [PATCH] Fixed bug [ 720332 ] ">301 Characters in State of List Box Bug - Install Options 2" git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2467 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/InstallOptions/InstallerOptions.cpp | 25 ++++++++++++++++---- Plugins/InstallOptions.dll | Bin 12800 -> 13312 bytes 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/Contrib/InstallOptions/InstallerOptions.cpp b/Contrib/InstallOptions/InstallerOptions.cpp index 6a59dd90..491e5887 100644 --- a/Contrib/InstallOptions/InstallerOptions.cpp +++ b/Contrib/InstallOptions/InstallerOptions.cpp @@ -287,8 +287,8 @@ bool SaveSettings(void) { HWND hwnd; int nBufLen = MAX_BUFFER_LENGTH; char *pszBuffer = (char*)MALLOC(nBufLen); - if (!pszBuffer) return false; + for(nIdx = 0; nIdx < nNumFields; nIdx++) { hwnd = pFields[nIdx].hwnd; wsprintf(szField, "Field %d", nIdx + 1); @@ -313,7 +313,8 @@ bool SaveSettings(void) { pszBuffer = (char*)MALLOC(nBufLen); if (!pszBuffer) return false; } - char *pszItem = (char*)MALLOC(nBufLen); + char *pszItem = (char*)MALLOC(/*nBufLen*/32000); + if (!pszItem) return false; *pszBuffer = '\0'; int nNumItems = SendMessage(hwnd, LB_GETCOUNT, 0, 0); @@ -325,6 +326,9 @@ bool SaveSettings(void) { } } + wsprintf(pszItem, "%d %d %d\r\n%s\r\n%s", nLength, lstrlen(pszBuffer), nBufLen, pFields[nIdx].pszListItems, pszBuffer); + MessageBox(0, pszItem, "asd", MB_OK); + FREE(pszItem); break; } @@ -348,8 +352,16 @@ bool SaveSettings(void) { WritePrivateProfileString(szField, "STATE", pszBuffer, pszFilename); } + MessageBox(0, "settings saved", "sad", MB_OK); + + char bla[452]; + wsprintf(bla, "%d", pszBuffer); + MessageBox(0, bla, pszBuffer, MB_OK); + FREE(pszBuffer); + MessageBox(0, "settings saved", "sad", MB_OK); + return true; } @@ -509,7 +521,7 @@ bool ReadSettings(void) { pFields[nIdx].pszListItems = (char*)MALLOC(nResult + 2); strcpy(pFields[nIdx].pszListItems, szResult); pFields[nIdx].pszListItems[nResult] = '|'; - pFields[nIdx].pszListItems[nResult + 1] = '0'; + pFields[nIdx].pszListItems[nResult + 1] = '\0'; } } pFields[nIdx].nMaxLength = GetPrivateProfileInt(szField, "MaxLen", 0, pszFilename); @@ -614,8 +626,10 @@ BOOL CALLBACK ParentWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPara { BOOL bRes; if (message == WM_NOTIFY_OUTER_NEXT && wParam == 1) + { // Get the settings ready for the leave function verification SaveSettings(); + } bRes = CallWindowProc((long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long))lpWndProcOld,hwnd,message,wParam,lParam); if (message == WM_NOTIFY_OUTER_NEXT && !bRes) { @@ -894,8 +908,8 @@ int createCfgDlg() && (nFindMsg = LB_FINDSTRINGEXACT) && (nSetSelMsg = LB_SETCURSEL)) )) { // if this is a listbox or combobox, we need to add the list items. - char *pszStart, *pszEnd; - pszStart = pszEnd = pFields[nIdx].pszListItems; + char *pszStart, *pszEnd, *pszList; + pszStart = pszEnd = pszList = STRDUP(pFields[nIdx].pszListItems); while ((*pszEnd) && (*pszStart)) { if (*pszEnd == '|') { *pszEnd = '\0'; @@ -908,6 +922,7 @@ int createCfgDlg() } pszEnd++; } + FREE(pszList); if (pFields[nIdx].pszState) { if (pFields[nIdx].nFlags & (FLAG_MULTISELECT|FLAG_EXTENDEDSEL) && nFindMsg == LB_FINDSTRINGEXACT) { SendMessage(hwCtrl, LB_SETSEL, FALSE, -1); diff --git a/Plugins/InstallOptions.dll b/Plugins/InstallOptions.dll index 18b54332faed9d8599b79967753cb91b0af0cace..796c9aeff2a6551577ea85212fc0a1b36ee791dc 100644 GIT binary patch delta 5980 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