summaryrefslogtreecommitdiff
path: root/src/view/viewer.c
diff options
context:
space:
mode:
authorMinkyu Kang <mk7.kang@samsung.com>2015-08-10 17:16:06 +0900
committerMinkyu Kang <mk7.kang@samsung.com>2015-08-10 17:16:06 +0900
commitc7917b8b13177f7fe39bd3106799fb8ac132300a (patch)
treeb41e6dd989d9f5767da742d3088a866b9d1f2de3 /src/view/viewer.c
parent2b86ec161a73b2df9446095211f6e148185e950c (diff)
downloadair_mediahub-c7917b8b13177f7fe39bd3106799fb8ac132300a.tar.gz
air_mediahub-c7917b8b13177f7fe39bd3106799fb8ac132300a.tar.bz2
air_mediahub-c7917b8b13177f7fe39bd3106799fb8ac132300a.zip
fix memory leak
Change-Id: I810e85f9d548212f6bf7c12d165b06ce66473741 Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'src/view/viewer.c')
-rw-r--r--src/view/viewer.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/view/viewer.c b/src/view/viewer.c
index 3c812a2..276f9ee 100644
--- a/src/view/viewer.c
+++ b/src/view/viewer.c
@@ -895,8 +895,7 @@ static Evas_Object *_create(Evas_Object *win, void *data)
base = elm_layout_add(win);
if (!base) {
_ERR("failed to create base object");
- free(priv);
- return NULL;
+ goto err;
}
elm_layout_file_set(base, EDJEFILE, GRP_VIEWER_VIEW);
@@ -915,14 +914,14 @@ static Evas_Object *_create(Evas_Object *win, void *data)
player = playermgr_create(win);
if (!player) {
_ERR("failed to create player");
- return NULL;
+ goto err;
}
r = playermgr_set_completed_cb(player, _player_complete_cb, priv);
if (!r) {
_ERR("failed to set callback");
playermgr_destroy(player);
- return NULL;
+ goto err;
}
priv->player = player;
@@ -931,12 +930,16 @@ static Evas_Object *_create(Evas_Object *win, void *data)
if (!r) {
_ERR("failed to init UI");
playermgr_destroy(player);
- return NULL;
+ goto err;
}
viewmgr_set_view_data(VIEW_VIEWER, priv);
return base;
+
+err:
+ free(priv);
+ return NULL;
}
static void _show(void *view_data)