]> Skullheadx's Git Forge - surf.git/commitdiff
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 a5cfdd0deefd95165219553a785cdff1ceddb868..9b4dbb920e4d5ad32f70d28280a046811a4cdc49 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;