From 9483e8b29c52616f2ff71215ece79c29ecd80b75 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sat, 5 Apr 2014 22:49:18 +0000 Subject: [PATCH] [RAPPS] Don't pass structures by copy, give a pointer instead CID #502621 CID #502622 CID #502623 svn path=/trunk/; revision=62639 --- reactos/base/applications/rapps/available.c | 2 +- reactos/base/applications/rapps/installed.c | 2 +- reactos/base/applications/rapps/rapps.h | 4 ++-- reactos/base/applications/rapps/settingsdlg.c | 16 +++++++-------- reactos/base/applications/rapps/winmain.c | 20 +++++++++---------- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/reactos/base/applications/rapps/available.c b/reactos/base/applications/rapps/available.c index e4f4193adee..effde531fa3 100644 --- a/reactos/base/applications/rapps/available.c +++ b/reactos/base/applications/rapps/available.c @@ -219,7 +219,7 @@ EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc) GET_STRING2(L"URLSite", Info.szUrlSite); GET_STRING2(L"CDPath", Info.szCDPath); - if (!lpEnumProc(Info)) break; + if (!lpEnumProc(&Info)) break; } while (FindNextFileW(hFind, &FindFileData) != 0); FindClose(hFind); diff --git a/reactos/base/applications/rapps/installed.c b/reactos/base/applications/rapps/installed.c index fe244727505..e5b5b87f7ac 100644 --- a/reactos/base/applications/rapps/installed.c +++ b/reactos/base/applications/rapps/installed.c @@ -279,7 +279,7 @@ EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc) ((EnumType == ENUM_APPLICATIONS) && (!bIsUpdate)) || /* Applications only */ ((EnumType == ENUM_UPDATES) && (bIsUpdate))) /* Updates only */ { - if (!lpEnumProc(ItemIndex, pszDisplayName, Info)) + if (!lpEnumProc(ItemIndex, pszDisplayName, &Info)) break; } } diff --git a/reactos/base/applications/rapps/rapps.h b/reactos/base/applications/rapps/rapps.h index 6c87803dc9f..853d991eb30 100644 --- a/reactos/base/applications/rapps/rapps.h +++ b/reactos/base/applications/rapps/rapps.h @@ -107,7 +107,7 @@ typedef struct } SETTINGS_INFO, *PSETTINGS_INFO; /* available.c */ -typedef BOOL (CALLBACK *AVAILENUMPROC)(APPLICATION_INFO Info); +typedef BOOL (CALLBACK *AVAILENUMPROC)(PAPPLICATION_INFO Info); BOOL EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc); BOOL ShowAvailableAppInfo(INT Index); BOOL UpdateAppsDB(VOID); @@ -116,7 +116,7 @@ BOOL UpdateAppsDB(VOID); BOOL InstallApplication(INT Index); /* installed.c */ -typedef BOOL (CALLBACK *APPENUMPROC)(INT ItemIndex, LPWSTR lpName, INSTALLED_INFO Info); +typedef BOOL (CALLBACK *APPENUMPROC)(INT ItemIndex, LPWSTR lpName, PINSTALLED_INFO Info); BOOL EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc); BOOL GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString); BOOL ShowInstalledAppInfo(INT Index); diff --git a/reactos/base/applications/rapps/settingsdlg.c b/reactos/base/applications/rapps/settingsdlg.c index 7f3a5fba409..271bf560816 100644 --- a/reactos/base/applications/rapps/settingsdlg.c +++ b/reactos/base/applications/rapps/settingsdlg.c @@ -48,15 +48,15 @@ ChooseFolder(HWND hwnd) } static VOID -InitSettingsControls(HWND hDlg, SETTINGS_INFO Info) +InitSettingsControls(HWND hDlg, PSETTINGS_INFO Info) { - SendDlgItemMessage(hDlg, IDC_SAVE_WINDOW_POS, BM_SETCHECK, Info.bSaveWndPos, 0); - SendDlgItemMessage(hDlg, IDC_UPDATE_AVLIST, BM_SETCHECK, Info.bUpdateAtStart, 0); - SendDlgItemMessage(hDlg, IDC_LOG_ENABLED, BM_SETCHECK, Info.bLogEnabled, 0); - SendDlgItemMessage(hDlg, IDC_DEL_AFTER_INSTALL, BM_SETCHECK, Info.bDelInstaller, 0); + SendDlgItemMessage(hDlg, IDC_SAVE_WINDOW_POS, BM_SETCHECK, Info->bSaveWndPos, 0); + SendDlgItemMessage(hDlg, IDC_UPDATE_AVLIST, BM_SETCHECK, Info->bUpdateAtStart, 0); + SendDlgItemMessage(hDlg, IDC_LOG_ENABLED, BM_SETCHECK, Info->bLogEnabled, 0); + SendDlgItemMessage(hDlg, IDC_DEL_AFTER_INSTALL, BM_SETCHECK, Info->bDelInstaller, 0); SetWindowTextW(GetDlgItem(hDlg, IDC_DOWNLOAD_DIR_EDIT), - Info.szDownloadDir); + Info->szDownloadDir); } static @@ -68,7 +68,7 @@ SettingsDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) case WM_INITDIALOG: { NewSettingsInfo = SettingsInfo; - InitSettingsControls(hDlg, SettingsInfo); + InitSettingsControls(hDlg, &SettingsInfo); } break; @@ -98,7 +98,7 @@ SettingsDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) case IDC_DEFAULT_SETTINGS: FillDefaultSettings(&NewSettingsInfo); - InitSettingsControls(hDlg, NewSettingsInfo); + InitSettingsControls(hDlg, &NewSettingsInfo); break; case IDOK: diff --git a/reactos/base/applications/rapps/winmain.c b/reactos/base/applications/rapps/winmain.c index 6fa869f506f..f7b3dbd8d42 100644 --- a/reactos/base/applications/rapps/winmain.c +++ b/reactos/base/applications/rapps/winmain.c @@ -115,7 +115,7 @@ FreeInstalledAppList(VOID) BOOL CALLBACK -EnumInstalledAppProc(INT ItemIndex, LPWSTR lpName, INSTALLED_INFO Info) +EnumInstalledAppProc(INT ItemIndex, LPWSTR lpName, PINSTALLED_INFO Info) { PINSTALLED_INFO ItemInfo; WCHAR szText[MAX_PATH]; @@ -127,7 +127,7 @@ EnumInstalledAppProc(INT ItemIndex, LPWSTR lpName, INSTALLED_INFO Info) ItemInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(INSTALLED_INFO)); if (!ItemInfo) return FALSE; - *ItemInfo = Info; + RtlCopyMemory(ItemInfo, Info, sizeof(INSTALLED_INFO)); Index = ListViewAddItem(ItemIndex, 0, lpName, (LPARAM)ItemInfo); @@ -158,13 +158,13 @@ FreeAvailableAppList(VOID) BOOL CALLBACK -EnumAvailableAppProc(APPLICATION_INFO Info) +EnumAvailableAppProc(PAPPLICATION_INFO Info) { PAPPLICATION_INFO ItemInfo; INT Index; - if (!SearchPatternMatch(Info.szName, szSearchPattern) && - !SearchPatternMatch(Info.szDesc, szSearchPattern)) + if (!SearchPatternMatch(Info->szName, szSearchPattern) && + !SearchPatternMatch(Info->szDesc, szSearchPattern)) { return TRUE; } @@ -173,16 +173,16 @@ EnumAvailableAppProc(APPLICATION_INFO Info) - no RegName was supplied (so we cannot determine whether the application is installed or not) or - a RegName was supplied and the application is not installed */ - if (!*Info.szRegName || (!IsInstalledApplication(Info.szRegName, FALSE) && !IsInstalledApplication(Info.szRegName, TRUE))) + if (!*Info->szRegName || (!IsInstalledApplication(Info->szRegName, FALSE) && !IsInstalledApplication(Info->szRegName, TRUE))) { ItemInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(APPLICATION_INFO)); if (!ItemInfo) return FALSE; - *ItemInfo = Info; + RtlCopyMemory(ItemInfo, Info, sizeof(APPLICATION_INFO)); - Index = ListViewAddItem(Info.Category, 0, Info.szName, (LPARAM)ItemInfo); - ListView_SetItemText(hListView, Index, 1, Info.szVersion); - ListView_SetItemText(hListView, Index, 2, Info.szDesc); + Index = ListViewAddItem(Info->Category, 0, Info->szName, (LPARAM)ItemInfo); + ListView_SetItemText(hListView, Index, 1, Info->szVersion); + ListView_SetItemText(hListView, Index, 2, Info->szDesc); } return TRUE;