- WebKitHitTestResultContext context;
- WebKitHitTestResult *result;
- Arg arg;
- unsigned int i;
-
- result = webkit_web_view_get_hit_test_result(web, e);
- g_object_get(result, "context", &context, NULL);
- g_object_get(result, "link-uri", &arg.v, NULL);
- for (i = 0; i < LENGTH(buttons); i++) {
- if (context & buttons[i].click
- && e->button == buttons[i].button
- && CLEANMASK(e->state) == CLEANMASK(buttons[i].mask)
- && buttons[i].func) {
- buttons[i].func(c, buttons[i].click == ClkLink
- && buttons[i].arg.i == 0 ? &arg : &buttons[i].arg);
- return true;
+ WebKitHitTestResultContext element;
+ GdkEventButton *eb = (GdkEventButton*)e;
+ int i;
+
+ element = webkit_hit_test_result_get_context(c->mousepos);
+
+ for (i = 0; i < LENGTH(buttons); ++i) {
+ if (element & buttons[i].target &&
+ eb->button == buttons[i].button &&
+ CLEANMASK(eb->state) == CLEANMASK(buttons[i].mask) &&
+ buttons[i].func) {
+ buttons[i].func(c, &buttons[i].arg, c->mousepos);
+ return buttons[i].stopevent;