summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/frames.c15
-rw-r--r--windows/gui.c6
2 files changed, 16 insertions, 5 deletions
diff --git a/desktop/frames.c b/desktop/frames.c
index ee9c31d6e..856a56395 100644
--- a/desktop/frames.c
+++ b/desktop/frames.c
@@ -124,7 +124,8 @@ void browser_window_recalculate_iframes(struct browser_window *bw) {
int bw_width, bw_height;
int index;
- assert(bw);
+ assert(bw != NULL);
+ assert(bw->window != NULL);
/* update window dimensions */
gui_window_get_dimensions(bw->window, &bw_width, &bw_height, false);
@@ -137,9 +138,15 @@ void browser_window_recalculate_iframes(struct browser_window *bw) {
for (index = 0; index < bw->iframe_count; index++) {
window = &(bw->iframes[index]);
- box_bounds(window->box, &rect);
- gui_window_position_frame(window->window, rect.x0, rect.y0,
- rect.x1, rect.y1);
+
+ if ((window != NULL) && (window->box != NULL)) {
+ box_bounds(window->box, &rect);
+ gui_window_position_frame(window->window,
+ rect.x0, rect.y0,
+ rect.x1, rect.y1);
+ } else {
+ LOG(("Bad IFrame window=%p, box=%p",window,window->box));
+ }
}
}
diff --git a/windows/gui.c b/windows/gui.c
index d2a1bff75..0c29cfdad 100644
--- a/windows/gui.c
+++ b/windows/gui.c
@@ -2006,6 +2006,8 @@ void gui_window_scroll_visible(struct gui_window *w, int x0, int y0,
void gui_window_position_frame(struct gui_window *w, int x0, int y0,
int x1, int y1)
{
+ if (w == NULL)
+ return;
LOG(("position frame %s: %d, %d, %d, %d", w->bw->name,
x0, y0, x1, y1));
MoveWindow(w->drawingarea, x0, y0, x1-x0, y1-y0, true);
@@ -2014,9 +2016,11 @@ void gui_window_position_frame(struct gui_window *w, int x0, int y0,
void gui_window_get_dimensions(struct gui_window *w, int *width, int *height,
bool scaled)
{
- LOG(("get dimensions %p w=%d h=%d", w, w->width, w->height));
if (w == NULL)
return;
+
+ LOG(("get dimensions %p w=%d h=%d", w, w->width, w->height));
+
*width = w->width;
*height = w->height;
}