Download the current file when it cannot be displayed (with WebKit's widget)
This commit is contained in:
parent
1e2ae3c167
commit
e7e8bdcd69
@ -356,16 +356,19 @@ static gboolean _on_load_error(WebKitWebView * view, WebKitWebFrame * frame,
|
||||
Surfer * surfer;
|
||||
|
||||
surfer = g_object_get_data(G_OBJECT(data), "surfer");
|
||||
if(error != NULL && error->message != NULL)
|
||||
if(error == NULL)
|
||||
return surfer_error(surfer, "Unknown error", TRUE);
|
||||
if(error->domain == WEBKIT_NETWORK_ERROR
|
||||
&& error->code == WEBKIT_NETWORK_ERROR_CANCELLED)
|
||||
return TRUE; /* ignored if the user cancelled it */
|
||||
if(error->domain == WEBKIT_POLICY_ERROR
|
||||
&& error->code == WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE)
|
||||
{
|
||||
/* ignore if the user cancelled it */
|
||||
if(error->domain == WEBKIT_NETWORK_ERROR
|
||||
&& error->code
|
||||
== WEBKIT_NETWORK_ERROR_CANCELLED)
|
||||
return TRUE;
|
||||
surfer_error(surfer, error->message, 0);
|
||||
/* FIXME propose to download or cancel instead */
|
||||
surfer_download(surfer, uri, NULL);
|
||||
return TRUE;
|
||||
}
|
||||
return TRUE;
|
||||
return surfer_error(surfer, error->message, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -489,7 +489,7 @@ int surfer_error(Surfer * surfer, char const * message, int ret)
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", "Error");
|
||||
gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),
|
||||
"%s", message);
|
||||
"%s", (message != NULL) ? message : "Unknown error");
|
||||
gtk_window_set_title(GTK_WINDOW(dialog), "Error");
|
||||
g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(
|
||||
gtk_widget_destroy), NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user