From ee019e12faac404a162661c12f33a14bb8f3297f Mon Sep 17 00:00:00 2001 From: Alexander Shaposhnikov Date: Sat, 28 Oct 2017 23:44:17 +0300 Subject: [PATCH] [RAPPS] Prevent download dialog placeholder from displaying CORE-13915 --- base/applications/rapps/loaddlg.cpp | 48 ++++++++++++++++------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/base/applications/rapps/loaddlg.cpp b/base/applications/rapps/loaddlg.cpp index 346167cd77c..166b38304c5 100644 --- a/base/applications/rapps/loaddlg.cpp +++ b/base/applications/rapps/loaddlg.cpp @@ -393,6 +393,7 @@ INT_PTR CALLBACK CDownloadManager::DownloadDlgProc(HWND Dlg, UINT uMsg, WPARAM w case WM_INITDIALOG: { HICON hIconSm, hIconBg; + ATL::CStringW szTempCaption; hIconBg = (HICON) GetClassLongW(hMainWnd, GCLP_HICON); hIconSm = (HICON) GetClassLongW(hMainWnd, GCLP_HICONSM); @@ -423,11 +424,16 @@ INT_PTR CALLBACK CDownloadManager::DownloadDlgProc(HWND Dlg, UINT uMsg, WPARAM w } DownloadsListView.LoadList(AppsToInstallList); - ShowWindow(Dlg, SW_SHOW); - // Get a dlg string for later use GetWindowTextW(Dlg, szCaption, MAX_PATH); + // Hide a placeholder from displaying + szTempCaption = szCaption; + szTempCaption.Replace(L"%ls", L""); + SetWindowText(Dlg, szTempCaption.GetString()); + + ShowWindow(Dlg, SW_SHOW); + // Start download process DownloadParam *param = new DownloadParam(Dlg, AppsToInstallList, szCaption); DWORD ThreadId; @@ -580,6 +586,25 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param) for (iAppId = 0; iAppId < InfoArray.GetSize(); ++iAppId) { + // Reset progress bar + Item = GetDlgItem(hDlg, IDC_DOWNLOAD_PROGRESS); + if (Item) + { + SendMessageW(Item, PBM_SETPOS, 0, 0); + } + + // Change caption to show the currently downloaded app + if (!bCab) + { + szNewCaption.Format(szCaption, InfoArray[iAppId].szName.GetString()); + } + else + { + szNewCaption.LoadStringW(IDS_DL_DIALOG_DB_DOWNLOAD_DISP); + } + + SetWindowTextW(hDlg, szNewCaption.GetString()); + // build the path for the download p = wcsrchr(InfoArray[iAppId].szUrl.GetString(), L'/'); q = wcsrchr(InfoArray[iAppId].szUrl.GetString(), L'?'); @@ -626,25 +651,6 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param) goto run; } - // Reset progress bar - Item = GetDlgItem(hDlg, IDC_DOWNLOAD_PROGRESS); - if (Item) - { - SendMessageW(Item, PBM_SETPOS, 0, 0); - } - - // Change caption to show the currently downloaded app - if (!bCab) - { - szNewCaption.Format(szCaption, InfoArray[iAppId].szName.GetString()); - } - else - { - szNewCaption.LoadStringW(IDS_DL_DIALOG_DB_DOWNLOAD_DISP); - } - - SetWindowTextW(hDlg, szNewCaption.GetString()); - // Add the download URL SetDlgItemTextW(hDlg, IDC_DOWNLOAD_STATUS, InfoArray[iAppId].szUrl.GetString()); -- 2.17.1