define vars in proper places and don't leak the entire list of settings
Mikael Magnusson mikachu@comhem.se
4 files changed,
10 insertions(+),
6 deletions(-)
M
openbox/config.c
→
openbox/config.c
@@ -80,7 +80,7 @@ gint config_resist_edge;
gboolean config_resist_layers_below; -GSList *per_app_settings; +GSList *config_per_app_settings; /* <applications>@@ -174,7 +174,7 @@ else
setting->layer = 0; } - per_app_settings = g_slist_append(per_app_settings, + config_per_app_settings = g_slist_append(config_per_app_settings, (gpointer) setting); }@@ -728,7 +728,7 @@ config_menu_files = NULL;
parse_register(i, "menu", parse_menu, NULL); - per_app_settings = NULL; + config_per_app_settings = NULL; parse_register(i, "applications", parse_per_app_settings, NULL); }@@ -748,4 +748,8 @@
for (it = config_menu_files; it; it = g_slist_next(it)) g_free(it->data); g_slist_free(config_menu_files); + + for (it = config_per_app_settings; it; it = g_slist_next(it)) + g_free(it->data); + g_slist_free(config_per_app_settings); }
M
openbox/config.h
→
openbox/config.h
@@ -23,7 +23,6 @@
#include "misc.h" #include "stacking.h" #include "place.h" -#include "per_app_settings.h" #include <glib.h>@@ -129,6 +128,8 @@ /*! show icons in client_list_menu */
extern gboolean config_menu_client_list_icons; /*! User-specified menu files */ extern GSList *config_menu_files; +/*! Per app settings */ +extern GSList *config_per_app_settings; void config_startup(struct _ObParseInst *i); void config_shutdown();
M
openbox/per_app_settings.c
→
openbox/per_app_settings.c
@@ -18,6 +18,7 @@ */
#include "per_app_settings.h" #include "screen.h" +#include "config.h" GSList *per_app_settings;
M
openbox/per_app_settings.h
→
openbox/per_app_settings.h
@@ -40,8 +40,6 @@
guint layer; }; -extern GSList *per_app_settings; - ObAppSetting *get_client_settings(ObClient *client); void place_window_from_settings(ObAppSetting *setting, ObClient *client, gint *x, gint *y);