summaryrefslogtreecommitdiff
path: root/desktop/browser.c
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/browser.c')
-rw-r--r--desktop/browser.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 0fc2f1e72..c84104312 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -1184,15 +1184,20 @@ void browser_window_update_box(struct browser_window *bw,
{
int pos_x;
int pos_y;
- union content_msg_data data_copy = *data;
+ struct rect rect;
struct browser_window *top;
+ rect.x0 = data->redraw.x;
+ rect.y0 = data->redraw.y;
+ rect.x1 = data->redraw.x + data->redraw.width;
+ rect.y1 = data->redraw.y + data->redraw.height;
+
switch (bw->browser_window_type) {
default:
/* fall through for frame(set)s,
* until they are handled by core */
case BROWSER_WINDOW_NORMAL:
- gui_window_update_box(bw->window, data);
+ gui_window_update_box(bw->window, &rect);
break;
case BROWSER_WINDOW_IFRAME:
@@ -1200,14 +1205,12 @@ void browser_window_update_box(struct browser_window *bw,
top = browser_window_get_root(bw);
- /* TODO: update gui_window_update_box so it takes a struct rect
- * instead of msg data. */
- data_copy.redraw.x += pos_x / bw->scale;
- data_copy.redraw.y += pos_y / bw->scale;
- data_copy.redraw.object_x += pos_x / bw->scale;
- data_copy.redraw.object_y += pos_y / bw->scale;
+ rect.x0 += pos_x / bw->scale;
+ rect.y0 += pos_y / bw->scale;
+ rect.x1 += pos_x / bw->scale;
+ rect.y1 += pos_y / bw->scale;
- gui_window_update_box(top->window, &data_copy);
+ gui_window_update_box(top->window, &rect);
break;
}
}