From 84098e54a00e4b407feaba2c720fa2a1da67fe31 Mon Sep 17 00:00:00 2001
From: Jacek Caban <jacek@codeweavers.com>
Date: Thu, 18 Oct 2007 15:06:54 +0200
Subject: [PATCH] mshtml: Added support for installing Gecko from build dir.

---
 dlls/mshtml/install.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/dlls/mshtml/install.c b/dlls/mshtml/install.c
index 3890ac2b4f1..4acef19dcd5 100644
--- a/dlls/mshtml/install.c
+++ b/dlls/mshtml/install.c
@@ -251,22 +251,25 @@ static BOOL install_from_registered_dir(void)
 
 static BOOL install_from_default_dir(void)
 {
-    const char *data_dir;
+    const char *data_dir, *subdir;
     char *file_name;
-    int len;
+    int len, len2;
     BOOL ret;
 
-    static const char gecko_dir[] = "/gecko/";
-
-    data_dir = wine_get_data_dir();
-    if(!data_dir) return FALSE;
+    if((data_dir = wine_get_data_dir()))
+        subdir = "/gecko/";
+    else if((data_dir = wine_get_build_dir()))
+        subdir = "/../gecko/";
+    else
+        return FALSE;
 
     len = strlen(data_dir);
+    len2 = strlen(subdir);
 
-    file_name = mshtml_alloc(len+sizeof(gecko_dir)+sizeof(GECKO_FILE_NAME));
+    file_name = mshtml_alloc(len+len2+sizeof(GECKO_FILE_NAME));
     memcpy(file_name, data_dir, len);
-    memcpy(file_name+len, gecko_dir, sizeof(gecko_dir));
-    memcpy(file_name+len+sizeof(gecko_dir)-1, GECKO_FILE_NAME, sizeof(GECKO_FILE_NAME));
+    memcpy(file_name+len, subdir, len2);
+    memcpy(file_name+len+len2, GECKO_FILE_NAME, sizeof(GECKO_FILE_NAME));
 
     ret = install_from_unix_file(file_name);