diff options
Diffstat (limited to 'libgame/game-game.c')
-rw-r--r-- | libgame/game-game.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libgame/game-game.c b/libgame/game-game.c index f0f3e75..f8ff073 100644 --- a/libgame/game-game.c +++ b/libgame/game-game.c @@ -376,6 +376,14 @@ game_game_dispose (GObject *object) game_game_unset_match (game); + if (game->icon) { + g_object_unref (game->icon); + game->icon = NULL; + } + if (game->viewport) { + g_object_unref (game->viewport); + game->viewport = NULL; + } if (game->default_resources) { g_hash_table_destroy (game->default_resources); @@ -531,10 +539,10 @@ game_game_set_property (GObject *object, guint param_id, const GValue *value, GP } break; case PROP_ICON: - game->icon = GAME_GRAPHIC (g_value_get_object (value)); + game->icon = GAME_GRAPHIC (g_value_dup_object (value)); break; case PROP_VIEWPORT: - game->viewport = GAME_GRAPHIC (g_value_get_object (value)); + game->viewport = GAME_GRAPHIC (g_value_dup_object (value)); break; case PROP_TRANSLATION_DOMAIN: if (g_value_get_string (value)) |