diff options
author | Enno Boland (tox) <tox@s01.de> | 2009-10-21 08:35:58 +0200 |
---|---|---|
committer | Enno Boland (tox) <tox@s01.de> | 2009-10-21 08:35:58 +0200 |
commit | 9557e7b7697f26ca9ddcce6c2ad07913269b6525 (patch) | |
tree | 5f6b7f7c6e4b733cfc325864d183e9f1f5c6340c | |
parent | 52a9c8ca52569167b49aed071be10fe2e1bb677b (diff) | |
download | surf-9557e7b7697f26ca9ddcce6c2ad07913269b6525.tar.gz surf-9557e7b7697f26ca9ddcce6c2ad07913269b6525.tar.bz2 surf-9557e7b7697f26ca9ddcce6c2ad07913269b6525.zip |
replacing ignore_once with ignorexprop
-rw-r--r-- | surf.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -61,7 +61,7 @@ static SoupSession *session; static Client *clients = NULL; static GdkNativeWindow embed = 0; static gboolean showxid = FALSE; -static gboolean ignore_once = FALSE; +static int ignorexprop = 0; static char winid[64]; static char *progname; static gboolean lockcookie = FALSE; @@ -233,6 +233,7 @@ destroyclient(Client *c) { gboolean decidewindow(WebKitWebView *view, WebKitWebFrame *f, WebKitNetworkRequest *r, WebKitWebNavigationAction *n, WebKitWebPolicyDecision *p, Client *c) { Arg arg; + if(webkit_web_navigation_action_get_reason(n) == WEBKIT_WEB_NAVIGATION_REASON_LINK_CLICKED) { webkit_web_policy_decision_ignore(p); arg.v = (void *)webkit_network_request_get_uri(r); @@ -558,8 +559,8 @@ processx(GdkXEvent *e, GdkEvent *event, gpointer d) { if(((XEvent *)e)->type == PropertyNotify) { ev = &((XEvent *)e)->xproperty; - if(ignore_once) - ignore_once = FALSE; + if(ignorexprop) + ignorexprop--; else if(ev->state == PropertyNewValue) { if(ev->atom == uriprop) { arg.v = getatom(c, uriprop); @@ -648,7 +649,7 @@ sigchld(int unused) { void setatom(Client *c, Atom a, const char *v) { XSync(dpy, False); - ignore_once = TRUE; + ignorexprop++; XChangeProperty(dpy, GDK_WINDOW_XID(GTK_WIDGET(c->win)->window), a, XA_STRING, 8, PropModeReplace, (unsigned char *)v, strlen(v) + 1); |