summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/dock.c2
-rw-r--r--openbox/screen.c11
2 files changed, 7 insertions, 6 deletions
diff --git a/openbox/dock.c b/openbox/dock.c
index 00abc530..c26eee62 100644
--- a/openbox/dock.c
+++ b/openbox/dock.c
@@ -551,6 +551,8 @@ void dock_configure(void)
dock->area.height += ob_rr_theme->obwidth * 2;
}
+ /* screen_resize() depends on this function to call screen_update_areas(),
+ so if this changes, also update screen_resize(). */
screen_update_areas();
}
diff --git a/openbox/screen.c b/openbox/screen.c
index 4d73eeac..a94347ed 100644
--- a/openbox/screen.c
+++ b/openbox/screen.c
@@ -500,11 +500,12 @@ void screen_resize(void)
if (ob_state() != OB_STATE_RUNNING)
return;
- screen_update_areas();
+ /* this calls screen_update_areas(), which we need ! */
dock_configure();
- for (it = client_list; it; it = g_list_next(it))
- client_move_onscreen(it->data, FALSE);
+ if (oldw)
+ for (it = client_list; it; it = g_list_next(it))
+ client_move_onscreen(it->data, FALSE);
}
void screen_set_num_desktops(guint num)
@@ -1458,10 +1459,8 @@ void screen_update_areas(void)
dims, 4 * screen_num_desktops);
/* the area has changed, adjust all the windows if they need it */
- for (it = onscreen; it; it = g_list_next(it)) {
- client_move_onscreen(it->data, FALSE);
+ for (it = onscreen; it; it = g_list_next(it))
client_reconfigure(it->data, FALSE);
- }
g_free(dims);
}