Module: wine Branch: master Commit: f25f97d86a5370f84cfb0bfc5b85472dd5d16b00 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f25f97d86a5370f84cfb0bfc5b...
Author: Jacek Caban jacek@codeweavers.com Date: Tue May 15 11:48:31 2012 +0200
appwiz.cpl: Replace install_wine_gecko with configurable install_addon.
---
dlls/appwiz.cpl/addons.c | 18 ++++++++++-------- dlls/appwiz.cpl/appwiz.c | 2 +- dlls/appwiz.cpl/appwiz.h | 6 +++++- 3 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c index 8703f97..1cff5c4 100644 --- a/dlls/appwiz.cpl/addons.c +++ b/dlls/appwiz.cpl/addons.c @@ -84,7 +84,7 @@ static const addon_info_t addons_info[] = { } };
-static const addon_info_t *addon = &addons_info[0]; +static const addon_info_t *addon;
static HWND install_dialog = NULL; static LPWSTR url = NULL; @@ -553,18 +553,20 @@ static INT_PTR CALLBACK installer_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARA return FALSE; }
-BOOL install_wine_gecko(void) +BOOL install_addon(addon_t addon_type) { if(!*ARCH_STRING) return FALSE;
+ addon = addons_info+addon_type; + /* - * Try to find Gecko .cab file in following order: - * - directory stored in GeckoCabDir value of HKCU/Wine/Software/MSHTML key - * - $datadir/gecko/ - * - $INSTALL_DATADIR/wine/gecko/ - * - /usr/share/wine/gecko/ - * - download from URL stored in GeckoUrl value of HKCU/Wine/Software/MSHTML key + * Try to find addon .msi file in following order: + * - directory stored in $dir_config_key value of HKCU/Wine/Software/$config_key key + * - $datadir/$addon_subdir/ + * - $INSTALL_DATADIR/wine/$addon_subdir/ + * - /usr/share/wine/$addon_subdir/ + * - download from URL stored in $url_config_key value of HKCU/Wine/Software/$config_key key */ if(!install_from_registered_dir() && !install_from_default_dir() diff --git a/dlls/appwiz.cpl/appwiz.c b/dlls/appwiz.cpl/appwiz.c index 1d8f47c..14ace66 100644 --- a/dlls/appwiz.cpl/appwiz.c +++ b/dlls/appwiz.cpl/appwiz.c @@ -975,7 +975,7 @@ static LONG start_params(const WCHAR *params) return FALSE;
if(!strcmpW(params, install_geckoW)) { - install_wine_gecko(); + install_addon(ADDON_GECKO); return TRUE; }
diff --git a/dlls/appwiz.cpl/appwiz.h b/dlls/appwiz.cpl/appwiz.h index d4f9375..6e189fa 100644 --- a/dlls/appwiz.cpl/appwiz.h +++ b/dlls/appwiz.cpl/appwiz.h @@ -16,7 +16,11 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-BOOL install_wine_gecko(void) DECLSPEC_HIDDEN; +typedef enum { + ADDON_GECKO +} addon_t; + +BOOL install_addon(addon_t) DECLSPEC_HIDDEN;
extern HINSTANCE hInst DECLSPEC_HIDDEN;