fixing _SURF_URL XProperty.
authorEnno Boland (Gottox) <gottox@s01.de>
Mon, 8 Jun 2009 20:55:48 +0000 (22:55 +0200)
committerEnno Boland (Gottox) <gottox@s01.de>
Mon, 8 Jun 2009 20:55:48 +0000 (22:55 +0200)
surf.c

diff --git a/surf.c b/surf.c
index fae33d5..39b6f12 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -272,8 +272,8 @@ loadcommit(WebKitWebView *view, WebKitWebFrame *f, gpointer d) {
        Client *c = (Client *)d;
        gchar *uri;
 
-       uri = geturi(c);
        ignore_once = TRUE;
+       uri = geturi(c);
        XChangeProperty(dpy, GDK_WINDOW_XID(GTK_WIDGET(c->win)->window), urlprop,
                        XA_STRING, 8, PropModeReplace, (unsigned char *)uri,
                        strlen(uri) + 1);
@@ -425,12 +425,16 @@ processx(GdkXEvent *e, GdkEvent *event, gpointer d) {
        unsigned char *buf = NULL;
        if(((XEvent *)e)->type == PropertyNotify) {
                ev = &((XEvent *)e)->xproperty;
-               if(ignore_once == FALSE && ev->atom == urlprop && ev->state == PropertyNewValue) {
-                       XGetWindowProperty(dpy, ev->window, urlprop, 0L, BUFSIZ, False, XA_STRING,
-                               &adummy, &idummy, &ldummy, &ldummy, &buf);
-                       loaduri(c, (gchar *)buf);
-                       XFree(buf);
-                       return GDK_FILTER_REMOVE;
+               if(ev->atom == urlprop && ev->state == PropertyNewValue) {
+                       if(ignore_once)
+                              ignore_once = FALSE;
+                       else {
+                               XGetWindowProperty(dpy, ev->window, urlprop, 0L, BUFSIZ, False, XA_STRING,
+                                       &adummy, &idummy, &ldummy, &ldummy, &buf);
+                               loaduri(c, (gchar *)buf);
+                               XFree(buf);
+                               return GDK_FILTER_REMOVE;
+                       }
                }
        }
        return GDK_FILTER_CONTINUE;