From 0a220fb6a1756191e7865e20ff399676c7f2041f Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 14 Sep 2003 21:09:51 +0000 Subject: [PATCH] adjust the themes for the frames before everything else happens, cuz they store pointers to the freed theme, then redraw them at the end --- openbox/openbox.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/openbox/openbox.c b/openbox/openbox.c index 220f0e2d..a3adb102 100644 --- a/openbox/openbox.c +++ b/openbox/openbox.c @@ -218,6 +218,15 @@ int main(int argc, char **argv) ob_exit_with_error("Unable to load a theme."); } + if (reconfigure) { + GList *it; + + /* update all existing windows for the new theme */ + for (it = client_list; it; it = g_list_next(it)) { + ObClient *c = it->data; + frame_adjust_theme(c->frame); + } + } event_startup(reconfigure); grab_startup(reconfigure); /* focus_backup is used for stacking, so this needs to come before @@ -243,7 +252,7 @@ int main(int argc, char **argv) /* redecorate all existing windows */ for (it = client_list; it; it = g_list_next(it)) { ObClient *c = it->data; - frame_adjust_theme(c->frame); + frame_adjust_area(c->frame, TRUE, TRUE, FALSE); } } -- 2.45.2