t_SURF_URI gets initialised as soon as the window opens. - surf - customized build of surf, the suckless webkit browser (HTM) git clone git://src.adamsgaard.dk/surf (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 94601622a1494f9f7ffb514f662cd118c5c86dc1 (DIR) parent b18189d016e99e1e352cbe586c85c49ce2ca2f5d (HTM) Author: Enno Boland (tox) <tox@s01.de> Date: Fri, 29 Jan 2010 09:44:14 +0100 _SURF_URI gets initialised as soon as the window opens. Diffstat: M surf.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) --- (DIR) diff --git a/surf.c b/surf.c t@@ -435,14 +435,23 @@ void loaduri(Client *c, const Arg *arg) { char *u; const char *uri = (char *)arg->v; + Arg a = { .b = FALSE }; + if(strcmp(uri, "") == 0) + return; u = g_strrstr(uri, "://") ? g_strdup(uri) : g_strdup_printf("http://%s", uri); - webkit_web_view_load_uri(c->view, u); - c->progress = 0; - c->title = copystr(&c->title, u); - g_free(u); - update(c); + /* prevents endless loop */ + if(c->uri && strcmp(u, c->uri) == 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); + } } void t@@ -551,6 +560,7 @@ newclient(void) { g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, NULL); g_free(uri); setatom(c, findprop, ""); + setatom(c, uriprop, ""); c->download = NULL; c->title = NULL;