Signed-off-by: Jon Turney <jon.tur...@dronecode.org.uk> --- choose.cc | 3 ++- ini.h | 1 + main.cc | 1 + root.cc | 5 ++++- 4 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/choose.cc b/choose.cc index 6563cb3..aa1d8e9 100644 --- a/choose.cc +++ b/choose.cc @@ -40,6 +40,7 @@ static const char *cvsid = #include <process.h> #include <algorithm> +#include "ini.h" #include "dialog.h" #include "resource.h" #include "state.h" @@ -151,7 +152,7 @@ ChooserPage::createListview () exit (11); chooser->init(PickView::views::Category); chooser->Show(SW_SHOW); - chooser->setViewMode (UpgradeAlsoOption || hasManualSelections ? + chooser->setViewMode (!is_new_install || UpgradeAlsoOption || hasManualSelections ? PickView::views::PackagePending : PickView::views::Category); SendMessage (GetDlgItem (IDC_CHOOSE_VIEW), CB_SETCURSEL, (WPARAM)chooser->getViewMode(), 0); diff --git a/ini.h b/ini.h index 7f6db22..3072637 100644 --- a/ini.h +++ b/ini.h @@ -24,6 +24,7 @@ typedef std::vector <std::string> IniList; extern IniList found_ini_list, setup_ext_list; const std::string setup_exts[] = { "xz", "bz2", "ini" }; extern bool is_64bit; +extern bool is_new_install; extern std::string SetupArch; extern std::string SetupIniDir; extern std::string SetupBaseName; diff --git a/main.cc b/main.cc index fbf12fb..6332920 100644 --- a/main.cc +++ b/main.cc @@ -84,6 +84,7 @@ extern char **_argv; #endif bool is_64bit; +bool is_new_install = false; std::string SetupArch; std::string SetupIniDir; diff --git a/root.cc b/root.cc index 695590a..1fa562f 100644 --- a/root.cc +++ b/root.cc @@ -203,7 +203,10 @@ directory_contains_wrong_version (HWND h) /* Probably new installation */ if (!GetBinaryType (cygcheck_exe.c_str (), &type)) - return 0; + { + is_new_install = true; + return 0; + } /* 64 bit setup and 64 bit inst? */ if (type == SCS_32BIT_BINARY && !is_64bit) return 0; -- 2.8.3