diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-14 21:09:51 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-14 21:09:51 +0000 |
| commit | 0a220fb6a1756191e7865e20ff399676c7f2041f (patch) | |
| tree | 8afe35a0c08859053f997dc43486a3a5353f2ab0 | |
| parent | 13bbcdd86b5cb5a6dce8768d3fbaaede2032b043 (diff) | |
adjust the themes for the frames before everything else happens, cuz they store pointers to the freed theme, then redraw them at the end
| -rw-r--r-- | openbox/openbox.c | 11 |
1 files changed, 10 insertions, 1 deletions
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); } } |
