aboutsummaryrefslogtreecommitdiff
path: root/src/ui.cc
diff options
context:
space:
mode:
authorcorvid <corvid@lavabit.com>2010-02-11 20:11:03 +0000
committercorvid <corvid@lavabit.com>2010-02-11 20:11:03 +0000
commit0ab3ead077237d86b8944fba5fe269435114ca5c (patch)
treea86c3edbf75b71557d22364dac56d0b170aea5dd /src/ui.cc
parentb5b8fe930ca7f8e58e5c57a674b0556a8faf6bbd (diff)
allow pasting into form widgets when middle_click_drags_page=NO
http://lists.auriga.wearlab.de/pipermail/dillo-dev/2010-February/007281.html
Diffstat (limited to 'src/ui.cc')
-rw-r--r--src/ui.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/ui.cc b/src/ui.cc
index 1561d5ac..fd0639ba 100644
--- a/src/ui.cc
+++ b/src/ui.cc
@@ -850,8 +850,21 @@ int UI::handle(int event)
if (prefs.middle_click_drags_page == 0 &&
event_button() == MiddleButton &&
!a_UIcmd_pointer_on_link(a_UIcmd_get_bw_by_widget(this))) {
- paste_url();
- ret = 1;
+ if (Main->Rectangle::contains (event_x (), event_y ())) {
+ /* Offer the event to Main's children (form widgets) */
+ int save_x = e_x, save_y = e_y;
+
+ e_x -= Main->x();
+ e_y -= Main->y();
+ ret = ((Group *)Main)->Group::handle(event);
+ e_x = save_x;
+ e_y = save_y;
+ }
+ if (!ret) {
+ /* middle click was not on a link or a form widget */
+ paste_url();
+ ret = 1;
+ }
}
}