summaryrefslogtreecommitdiff
path: root/libgame/game-game.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgame/game-game.c')
-rw-r--r--libgame/game-game.c12
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))