Minor fixes

This commit is contained in:
Pierre Pronchery 2009-02-23 13:12:19 +00:00
parent 8347783622
commit 83cabc42f4

View File

@ -204,15 +204,21 @@ gboolean ghtml_go_forward(GtkWidget * ghtml)
void ghtml_load_url(GtkWidget * widget, char const * url) void ghtml_load_url(GtkWidget * widget, char const * url)
{ {
GHtml * ghtml; GHtml * ghtml;
gchar * link;
#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "DEBUG: %s(\"%s\")\n", __func__, url); fprintf(stderr, "DEBUG: %s(\"%s\")\n", __func__, url);
#endif #endif
ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); ghtml = g_object_get_data(G_OBJECT(widget), "ghtml");
if((link = _ghtml_make_url(NULL, url)) != NULL)
url = link;
if(_ghtml_document_load(ghtml, url) != 0) if(_ghtml_document_load(ghtml, url) != 0)
{
g_free(link);
return; return;
}
g_free(ghtml->html_base); g_free(ghtml->html_base);
ghtml->html_base = g_strdup(url); ghtml->html_base = (link != NULL) ? link : g_strdup(url);
g_free(ghtml->html_url); g_free(ghtml->html_url);
ghtml->html_url = g_strdup(url); ghtml->html_url = g_strdup(url);
} }
@ -599,12 +605,18 @@ static void _http_data_complete(GConnHttpEventData * event, GHtmlConn * conn)
{ {
gchar * buf; gchar * buf;
gsize size; gsize size;
gdouble fraction;
if(gnet_conn_http_steal_buffer(conn->http, &buf, &size) != TRUE) if(gnet_conn_http_steal_buffer(conn->http, &buf, &size) != TRUE)
return 0; {
html_stream_write(conn->stream, buf, size); /* FIXME report error */
surfer_set_progress(conn->ghtml->surfer, 1.0); surfer_set_progress(conn->ghtml->surfer, 0.0);
}
else
{
if(size > 0)
html_stream_write(conn->stream, buf, size);
surfer_set_progress(conn->ghtml->surfer, 1.0);
}
_ghtmlconn_delete(conn); _ghtmlconn_delete(conn);
} }
@ -615,7 +627,11 @@ static void _http_data_partial(GConnHttpEventData * event, GHtmlConn * conn)
gdouble fraction; gdouble fraction;
if(gnet_conn_http_steal_buffer(conn->http, &buf, &size) != TRUE) if(gnet_conn_http_steal_buffer(conn->http, &buf, &size) != TRUE)
return 0; {
/* FIXME report error */
_ghtmlconn_delete(conn);
return;
}
html_stream_write(conn->stream, buf, size); html_stream_write(conn->stream, buf, size);
if(conn->content_length > 0) if(conn->content_length > 0)
{ {