summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-14 21:09:51 +0000
committerDana Jansens <danakj@orodu.net>2003-09-14 21:09:51 +0000
commit0a220fb6a1756191e7865e20ff399676c7f2041f (patch)
tree8afe35a0c08859053f997dc43486a3a5353f2ab0
parent13bbcdd86b5cb5a6dce8768d3fbaaede2032b043 (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.c11
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);
}
}