Fossil SCM
On Cygwin, if no browser is set and no Cygwin version of any browser can be found, fall back to win32/win64 version of chrome, firefox or IE (in that order)
Commit
021866fd9196a09a29ae616fb826c141cbaa807c
Parent
ad0d6aed184d121…
1 file changed
+13
-2
+13
-2
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -1860,13 +1860,24 @@ | ||
| 1860 | 1860 | if( zBrowser==0 ){ |
| 1861 | 1861 | static const char *const azBrowserProg[] = |
| 1862 | 1862 | { "xdg-open", "gnome-open", "firefox", "google-chrome" }; |
| 1863 | 1863 | int i; |
| 1864 | 1864 | #if defined(__CYGWIN__) |
| 1865 | - const char *path = fossil_getenv("PROGRAMFILES"); | |
| 1865 | + const char *path = fossil_getenv("ProgramFiles(x86)"); | |
| 1866 | + if( !path ){ | |
| 1867 | + path = fossil_getenv("PROGRAMFILES"); | |
| 1868 | + } | |
| 1866 | 1869 | path = fossil_utf8_to_filename(path); |
| 1867 | - zBrowser = mprintf("\"%s/Internet Explorer/iexplore.exe\"", path); | |
| 1870 | + zBrowser = mprintf("%s/Google/Chrome/Application/chrome.exe", path); | |
| 1871 | + if( file_access(zBrowser, X_OK) ){ | |
| 1872 | + zBrowser = mprintf("%s/Mozilla Firefox/firefox.exe", path); | |
| 1873 | + } | |
| 1874 | + if( file_access(zBrowser, X_OK) ){ | |
| 1875 | + path = fossil_utf8_to_filename(fossil_getenv("PROGRAMFILES")); | |
| 1876 | + zBrowser = mprintf("%s/Internet Explorer/iexplore.exe", path); | |
| 1877 | + } | |
| 1878 | + zBrowser = mprintf("\"%s\"", zBrowser); | |
| 1868 | 1879 | #else |
| 1869 | 1880 | zBrowser = "echo"; |
| 1870 | 1881 | #endif |
| 1871 | 1882 | for(i=0; i<sizeof(azBrowserProg)/sizeof(azBrowserProg[0]); i++){ |
| 1872 | 1883 | if( binaryOnPath(azBrowserProg[i]) ){ |
| 1873 | 1884 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -1860,13 +1860,24 @@ | |
| 1860 | if( zBrowser==0 ){ |
| 1861 | static const char *const azBrowserProg[] = |
| 1862 | { "xdg-open", "gnome-open", "firefox", "google-chrome" }; |
| 1863 | int i; |
| 1864 | #if defined(__CYGWIN__) |
| 1865 | const char *path = fossil_getenv("PROGRAMFILES"); |
| 1866 | path = fossil_utf8_to_filename(path); |
| 1867 | zBrowser = mprintf("\"%s/Internet Explorer/iexplore.exe\"", path); |
| 1868 | #else |
| 1869 | zBrowser = "echo"; |
| 1870 | #endif |
| 1871 | for(i=0; i<sizeof(azBrowserProg)/sizeof(azBrowserProg[0]); i++){ |
| 1872 | if( binaryOnPath(azBrowserProg[i]) ){ |
| 1873 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -1860,13 +1860,24 @@ | |
| 1860 | if( zBrowser==0 ){ |
| 1861 | static const char *const azBrowserProg[] = |
| 1862 | { "xdg-open", "gnome-open", "firefox", "google-chrome" }; |
| 1863 | int i; |
| 1864 | #if defined(__CYGWIN__) |
| 1865 | const char *path = fossil_getenv("ProgramFiles(x86)"); |
| 1866 | if( !path ){ |
| 1867 | path = fossil_getenv("PROGRAMFILES"); |
| 1868 | } |
| 1869 | path = fossil_utf8_to_filename(path); |
| 1870 | zBrowser = mprintf("%s/Google/Chrome/Application/chrome.exe", path); |
| 1871 | if( file_access(zBrowser, X_OK) ){ |
| 1872 | zBrowser = mprintf("%s/Mozilla Firefox/firefox.exe", path); |
| 1873 | } |
| 1874 | if( file_access(zBrowser, X_OK) ){ |
| 1875 | path = fossil_utf8_to_filename(fossil_getenv("PROGRAMFILES")); |
| 1876 | zBrowser = mprintf("%s/Internet Explorer/iexplore.exe", path); |
| 1877 | } |
| 1878 | zBrowser = mprintf("\"%s\"", zBrowser); |
| 1879 | #else |
| 1880 | zBrowser = "echo"; |
| 1881 | #endif |
| 1882 | for(i=0; i<sizeof(azBrowserProg)/sizeof(azBrowserProg[0]); i++){ |
| 1883 | if( binaryOnPath(azBrowserProg[i]) ){ |
| 1884 |