diff -up gtkhtml-4.8.5/components/editor/main.c.editor-test-images gtkhtml-4.8.5/components/editor/main.c
--- gtkhtml-4.8.5/components/editor/main.c.editor-test-images 2014-03-24 10:04:22.000000000 +0100
+++ gtkhtml-4.8.5/components/editor/main.c 2015-08-26 14:57:40.066401922 +0200
@@ -62,6 +62,36 @@ handle_error (GError **error)
}
}
+static void
+editor_test_url_requested_cb (GtkhtmlEditor *editor,
+ const gchar *uri,
+ GtkHTMLStream *stream)
+{
+ GFile *file;
+ gchar *contents = NULL;
+ gsize length = 0;
+ GError *error = NULL;
+
+ g_return_if_fail (uri != NULL);
+ g_return_if_fail (stream != NULL);
+
+ if (*uri == '/')
+ file = g_file_new_for_path (uri);
+ else
+ file = g_file_new_for_uri (uri);
+
+ if (g_file_load_contents (file, NULL, &contents, &length, NULL, &error)) {
+ gtk_html_stream_write (stream, contents, length);
+ gtk_html_stream_close (stream, GTK_HTML_STREAM_OK);
+ g_free (contents);
+ } else
+ gtk_html_stream_close (stream, GTK_HTML_STREAM_ERROR);
+
+ handle_error (&error);
+
+ g_object_unref (file);
+}
+
static GtkPrintOperationResult
print (GtkhtmlEditor *editor,
GtkPrintOperationAction action)
@@ -401,6 +431,8 @@ main (gint argc,
gtk_ui_manager_ensure_update (manager);
gtk_widget_show (editor);
+ g_signal_connect (editor, "uri-requested", G_CALLBACK (editor_test_url_requested_cb), NULL);
+
g_signal_connect (
editor, "destroy",
G_CALLBACK (gtk_main_quit), NULL);