summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--render/form.c5
-rw-r--r--render/html_interaction.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/render/form.c b/render/form.c
index 7a076c994..10fe3a2be 100644
--- a/render/form.c
+++ b/render/form.c
@@ -1286,6 +1286,7 @@ void form_select_menu_scroll_callback(void *client_data,
struct form_control *control = client_data;
struct form_select_menu *menu = control->data.select.menu;
html_content *html = (html_content *)menu->c;
+ struct browser_window *root_bw;
switch (scrollbar_data->msg) {
case SCROLLBAR_MSG_REDRAW:
@@ -1306,7 +1307,9 @@ void form_select_menu_scroll_callback(void *client_data,
browser_window_set_drag_type(html->bw, DRAGGING_OTHER);
menu->scroll_capture = true;
- gui_window_box_scroll_start(html->bw->window,
+
+ root_bw = browser_window_get_root(html->bw);
+ gui_window_box_scroll_start(root_bw->window,
scrollbar_data->x0, scrollbar_data->y0,
scrollbar_data->x1, scrollbar_data->y1);
break;
diff --git a/render/html_interaction.c b/render/html_interaction.c
index 604621657..9b3ffe6df 100644
--- a/render/html_interaction.c
+++ b/render/html_interaction.c
@@ -774,6 +774,7 @@ void html_overflow_scroll_callback(void *client_data,
html_content *html = (html_content *)data->c;
struct box *box = data->box;
int x, y, box_x, box_y, diff_x, diff_y;
+ struct browser_window *root_bw;
switch(scrollbar_data->msg) {
@@ -807,7 +808,9 @@ void html_overflow_scroll_callback(void *client_data,
browser_window_set_drag_type(html->bw, DRAGGING_OTHER);
html->scrollbar = scrollbar_data->scrollbar;
- gui_window_box_scroll_start(html->bw->window,
+
+ root_bw = browser_window_get_root(html->bw);
+ gui_window_box_scroll_start(root_bw->window,
scrollbar_data->x0, scrollbar_data->y0,
scrollbar_data->x1, scrollbar_data->y1);
break;