aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Brendan Taylor <whateley@gmail.com>2011-05-23 05:25:34 +0000
committerGravatar Brendan Taylor <whateley@gmail.com>2011-05-23 05:25:34 +0000
commitb91497144f392fe8dfedb1c250b6b2a5a4f94c5b (patch)
tree9bf52e0d33d3bd17340de53b41d03b1a6aa4bf29 /src
parent98ba6d72af3c078cbcffc89902969e4ece5a2493 (diff)
don't repeat yourself.
Diffstat (limited to 'src')
-rw-r--r--src/callbacks.c32
1 files changed, 11 insertions, 21 deletions
diff --git a/src/callbacks.c b/src/callbacks.c
index 2176a8e..548cf95 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -346,36 +346,26 @@ toggle_status_cb (WebKitWebView* page, GArray *argv, GString *result) {
}
void
-link_hover_cb (WebKitWebView* page, const gchar* title, const gchar* link, gpointer data) {
- (void) page;
- (void) title;
- (void) data;
+link_hover_cb (WebKitWebView *page, const gchar *title, const gchar *link, gpointer data) {
+ (void) page; (void) title; (void) data;
State *s = &uzbl.state;
+ if(s->last_selected_url)
+ g_free(s->last_selected_url);
+
if(s->selected_url) {
- if(s->last_selected_url)
- g_free(s->last_selected_url);
s->last_selected_url = g_strdup(s->selected_url);
- }
- else {
- if(s->last_selected_url) g_free(s->last_selected_url);
+ g_free(s->selected_url);
+ s->selected_url = NULL;
+ } else
s->last_selected_url = NULL;
- }
- g_free(s->selected_url);
- s->selected_url = NULL;
+ if(s->last_selected_url && g_strcmp0(link, s->last_selected_url))
+ send_event(LINK_UNHOVER, NULL, TYPE_STR, s->last_selected_url, NULL);
if (link) {
s->selected_url = g_strdup(link);
-
- if(s->last_selected_url &&
- g_strcmp0(s->selected_url, s->last_selected_url))
- send_event(LINK_UNHOVER, NULL, TYPE_STR, s->last_selected_url, NULL);
-
- send_event(LINK_HOVER, NULL, TYPE_STR, s->selected_url, NULL);
- }
- else if(s->last_selected_url) {
- send_event(LINK_UNHOVER, NULL, TYPE_STR, s->last_selected_url, NULL);
+ send_event(LINK_HOVER, NULL, TYPE_STR, s->selected_url, NULL);
}
update_title();