Fix title handling
authorQuentin Rameau <quinq@fifth.space>
Tue, 1 Dec 2015 11:31:42 +0000 (12:31 +0100)
committerQuentin Rameau <quinq@fifth.space>
Tue, 1 Dec 2015 11:31:42 +0000 (12:31 +0100)
Don't forget to always set the title to the current uri, this way it's
up to date when there is no title on the page (ie for local file
exploration).
Thanks to pickfire for reporting the issue.

surf.c

diff --git a/surf.c b/surf.c
index a5cfdd0..9b4dbb9 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -365,7 +365,6 @@ loaduri(Client *c, const Arg *a)
                reload(c, a);
        } else {
                webkit_web_view_load_uri(c->view, url);
-               c->title = geturi(c);
                updatetitle(c);
        }
 
@@ -964,20 +963,25 @@ createwindow(Client *c)
 void
 loadchanged(WebKitWebView *v, WebKitLoadEvent e, Client *c)
 {
+       const char *title = geturi(c);
+
        switch (e) {
        case WEBKIT_LOAD_STARTED:
+               setatom(c, AtomUri, title);
+               c->title = title;
                c->tlsflags = G_TLS_CERTIFICATE_VALIDATE_ALL + 1;
                break;
        case WEBKIT_LOAD_REDIRECTED:
-               setatom(c, AtomUri, geturi(c));
+               setatom(c, AtomUri, title);
+               c->title = title;
                break;
        case WEBKIT_LOAD_COMMITTED:
+               setatom(c, AtomUri, title);
+               c->title = title;
                if (!webkit_web_view_get_tls_info(c->view, NULL,
                    &(c->tlsflags)))
                        c->tlsflags = G_TLS_CERTIFICATE_VALIDATE_ALL + 1;
 
-               setatom(c, AtomUri, geturi(c));
-
                if (enablestyle)
                        setstyle(c, getstyle(geturi(c)));
                break;