tfixing _SURF_URL XProperty. - 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 b9b055348d4b8ae9372702afc59793cdcba16144
 (DIR) parent ccb449f42e1b52c2152b8b91563dc4ffdcd173a9
 (HTM) Author: Enno Boland (Gottox) <gottox@s01.de>
       Date:   Mon,  8 Jun 2009 22:55:48 +0200
       
       fixing _SURF_URL XProperty.
       Diffstat:
         M surf.c                              |      18 +++++++++++-------
       
       1 file changed, 11 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/surf.c b/surf.c
       t@@ -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);
       t@@ -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;