Add error reporting for opening URIs on Windows

Before it silently failed if there was any error. Now at least a
console warning is logged.
This commit is contained in:
Enrico Tröger 2016-03-06 11:16:52 +01:00
parent f4b270a60e
commit 2f5eca2cfd

View File

@ -785,6 +785,7 @@ gint win32_check_write_permission(const gchar *dir)
/* Just a simple wrapper function to open a browser window */
void win32_open_browser(const gchar *uri)
{
gint ret;
if (strncmp(uri, "file://", 7) == 0)
{
uri += 7;
@ -794,7 +795,14 @@ void win32_open_browser(const gchar *uri)
uri++;
}
}
ShellExecute(NULL, "open", uri, NULL, NULL, SW_SHOWNORMAL);
ret = (gint) ShellExecute(NULL, "open", uri, NULL, NULL, SW_SHOWNORMAL);
if (ret <= 32)
{
gchar *err = g_win32_error_message(GetLastError());
/* TODO add a GUI warning that opening an URI failed */
g_warning("ShellExecute failed opening \"%s\" (code %d): %s", uri, ret, err);
g_free(err);
}
}