adjust the themes for the frames before everything else happens, cuz they store pointers to the freed theme, then redraw them at the end
Dana Jansens danakj@orodu.net
1 files changed,
10 insertions(+),
1 deletions(-)
jump to
M
openbox/openbox.c
→
openbox/openbox.c
@@ -218,6 +218,15 @@ if (ob_rr_theme == NULL)
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 @@
/* 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); } }