This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Ping: [setup PATCH] Rework do_download [next_dialog removal (2b)]


Ping? I'm feeling that this might have gone unnoticed.

Max Bowsher wrote:
> And another...
>
> +2003-07-30  Max Bowsher  <maxb@ukf.net>
> +
> + * download.cc (do_download_thread): Return bool. Move program flow
> + logic to threebar.cc.
> + (do_download_thread_reflector): Put returned bool in lParam.
> + * threebar.cc: Include "msg.h".
> + (WM_APP_DOWNLOAD_THREAD_COMPLETE): Rework for new meaning of lParam,
> + incorporating program flow logic from download.cc.
>
> Index: download.cc
> ===================================================================
> RCS file: /home/max/cvsmirror/cygwin-apps-cvs/setup/download.cc,v
> retrieving revision 2.37
> diff -u -p -r2.37 download.cc
> --- download.cc 7 Apr 2003 12:46:55 -0000 2.37
> +++ download.cc 30 Jul 2003 22:03:05 -0000
> @@ -221,7 +221,7 @@ download_one (packagesource & pkgsource,
>    return 1;
>  }
>
> -static void
> +static bool
>  do_download_thread (HINSTANCE h, HWND owner)
>  {
>    int errors = 0;
> @@ -302,25 +302,7 @@ do_download_thread (HINSTANCE h, HWND ow
>   }
>      }
>
> -  if (errors)
> -    {
> -      if (yesno (owner, IDS_DOWNLOAD_INCOMPLETE) == IDYES)
> - {
> -   next_dialog = IDD_SITE;
> -   return;
> - }
> -    }
> -
> -  if (source == IDC_SOURCE_DOWNLOAD)
> -    {
> -      if (errors)
> - exit_msg = IDS_DOWNLOAD_INCOMPLETE;
> -      else if (!unattended_mode)
> - exit_msg = IDS_DOWNLOAD_COMPLETE;
> -      next_dialog = 0;
> -    }
> -  else
> -    next_dialog = IDD_S_INSTALL;
> +  return (errors == 0);
>  }
>
>  static DWORD WINAPI
> @@ -329,10 +311,11 @@ do_download_reflector (void *p)
>    HANDLE *context;
>    context = (HANDLE *) p;
>
> -  do_download_thread ((HINSTANCE) context[0], (HWND) context[1]);
> +  bool succeeded = do_download_thread ((HINSTANCE) context[0],
> +      (HWND) context[1]);
>
>    // Tell the progress page that we're done downloading
> -  Progress.PostMessage (WM_APP_DOWNLOAD_THREAD_COMPLETE, 0, next_dialog);
> +  Progress.PostMessage (WM_APP_DOWNLOAD_THREAD_COMPLETE, 0, succeeded);
>
>    ExitThread(0);
>  }
> Index: threebar.cc
> ===================================================================
> RCS file: /home/max/cvsmirror/cygwin-apps-cvs/setup/threebar.cc,v
> retrieving revision 2.7
> diff -u -p -r2.7 threebar.cc
> --- threebar.cc 30 Jul 2003 21:49:53 -0000 2.7
> +++ threebar.cc 30 Jul 2003 22:05:48 -0000
> @@ -27,6 +27,7 @@
>  #include "threebar.h"
>  #include "cistring.h"
>  #include "state.h"
> +#include "msg.h"
>
>  bool ThreeBarProgressPage::Create ()
>  {
> @@ -148,21 +149,32 @@ ThreeBarProgressPage::OnMessageApp (UINT
>        }
>      case WM_APP_DOWNLOAD_THREAD_COMPLETE:
>        {
> - if (lParam == IDD_S_INSTALL)
> + if (!lParam)
>     {
> -     // Download is complete and we want to go on to the install.
> -     Window::PostMessage (WM_APP_START_INSTALL);
> +     if (yesno (GetHWND(), IDS_DOWNLOAD_INCOMPLETE) == IDYES)
> +       {
> +  // Download failed for some reason,
> +  // go back to site selection page
> +  GetOwner ()->SetActivePageByID (IDD_SITE);
> +  break;
> +       }
>     }
> - else if (lParam != 0)
> +
> + if (source == IDC_SOURCE_DOWNLOAD)
>     {
> -     // Download failed for some reason, go back to site selection page
> -     GetOwner ()->SetActivePageByID (lParam);
> +     if (!lParam)
> +       exit_msg = IDS_DOWNLOAD_INCOMPLETE;
> +     else if (!unattended_mode)
> +       exit_msg = IDS_DOWNLOAD_COMPLETE;
> +     // Was a download-only, and is complete or failed.
> +     GetOwner ()->PressButton (PSBTN_CANCEL);
>     }
>   else
>     {
> -     // Was a download-only, and is complete or failed.
> -     GetOwner ()->PressButton (PSBTN_CANCEL);
> +     // Download is complete and we want to go on to the install.
> +     Window::PostMessage (WM_APP_START_INSTALL);
>     }
> +
>   break;
>        }
>      case WM_APP_START_INSTALL:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]