From 9e820ac80540c6cf4b1cad0708a06b139be72df5 Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Fri, 23 Dec 2005 16:07:53 +0000 Subject: [PATCH] Removed referencing world, added default logging options, added destroy_worlds function --- gnoemoe/gm-app.c | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/gnoemoe/gm-app.c b/gnoemoe/gm-app.c index c84e682..f7f9070 100644 --- a/gnoemoe/gm-app.c +++ b/gnoemoe/gm-app.c @@ -157,7 +157,14 @@ gm_app_init(GmApp *app) { /* Private functions */ void gm_app_destroy_worlds(GmApp *app) { - // TODO + GList *item; + + for (item = app->priv->worlds; item; item = item->next) { + g_object_unref(GM_WORLD(item->data)); + } + + g_list_free(app->priv->worlds); + app->priv->worlds = NULL; } static void @@ -246,9 +253,27 @@ gm_app_create_settings(GmApp *app) { gm_options_set(app->priv->options, "editor_alternative", "0"); gm_options_set(app->priv->options, "editor_embed", "0"); gm_options_set(app->priv->options, "editor_needs_terminal", "0"); + gm_options_set(app->priv->options, "auto_check_syntax", "1"); gm_options_set(app->priv->options, "worlds_saved_state", ""); gm_options_set(app->priv->options, "search_direction_world", "1"); gm_options_set(app->priv->options, "search_direction", "0"); + + // Default logging settings + gm_options_set(app->priv->options, "logging_enable", "1"); + gm_options_set(app->priv->options, "logging_in", "1"); + gm_options_set(app->priv->options, "logging_out", "1"); + gm_options_set(app->priv->options, "logging_status", "1"); + gm_options_set(app->priv->options, "logging_mcp_in", "0"); + gm_options_set(app->priv->options, "logging_mcp_out", "0"); + gm_options_set(app->priv->options, "logging_mcp_status", "0"); + + // Default logging filter settings + gm_options_set(app->priv->options, "logging_filter_in", "1"); + gm_options_set(app->priv->options, "logging_filter_out", "1"); + gm_options_set(app->priv->options, "logging_filter_status", "1"); + gm_options_set(app->priv->options, "logging_filter_mcp_in", "0"); + gm_options_set(app->priv->options, "logging_filter_mcp_out", "0"); + gm_options_set(app->priv->options, "logging_filter_mcp_status", "0"); } void @@ -438,7 +463,7 @@ gm_app_compare_worlds(GmWorld *world1, GmWorld *world2) { void gm_app_add_world(GmApp *app, GmWorld *world) { app->priv->worlds = g_list_insert_sorted(app->priv->worlds, - g_object_ref(world), (GCompareFunc)(gm_app_compare_worlds)); + world, (GCompareFunc)(gm_app_compare_worlds)); g_signal_emit(app, app_signals[WORLD_ADDED], 0, world); } @@ -514,6 +539,7 @@ main(int argc, char *argv[]) { g_type_init(); application = gm_app_new(argc, argv); gm_app_run(application); + g_object_unref(application); return 0; }