On Tue, Jun 22, 2010 at 1:53 PM, Rafa Garcia Gallego
<rafael.garcia.gall...@gmail.com> wrote:
> When loading a non-reachable URI, surf tries to load it a good number
> of times before giving up. I doubt this is intended and it gets really
> annoying as you have to browse back several times to reach the
> previous page. This tiny patch solves this and removes two (legacy?)
> unused pointers from the Client struct.

Please, ignore the original patch and use this, which also prevents a
memory leak. In my defense, the leak was there when I arrived.

Cheers,
Rafa.
diff -r e83fbd17d63a surf.c
--- a/surf.c    Tue Jun 08 09:06:15 2010 +0200
+++ b/surf.c    Tue Jun 22 14:13:07 2010 +0200
@@ -36,7 +36,6 @@
        GtkWidget *win, *scroll, *vbox, *indicator;
        WebKitWebView *view;
        char *title, *linkhover;
-       const char *uri, *needle;
        gint progress;
        struct Client *next;
        gboolean zoomed;
@@ -383,6 +382,7 @@
 void
 loaduri(Client *c, const Arg *arg) {
        char *u;
+       const char *cururi;
        const char *uri = (char *)arg->v;
        Arg a = { .b = FALSE };
 
@@ -391,16 +391,17 @@
        u = g_strrstr(uri, "://") ? g_strdup(uri)
                : g_strdup_printf("http://%s";, uri);
        /* prevents endless loop */
-       if(c->uri && strcmp(u, c->uri) == 0) {
+       cururi=geturi(c);
+       if(strcmp(u, cururi) == 0) {
                reload(c, &a);
        }
        else {
                webkit_web_view_load_uri(c->view, u);
                c->progress = 0;
                c->title = copystr(&c->title, u);
-               g_free(u);
                update(c);
        }
+       g_free(u);
 }
 
 void

Reply via email to