Implementation of Create function is changed to use the MACRO. 64/38664/3
authorKim Youngjin <yj21c.kim@samsung.com>
Fri, 24 Apr 2015 00:41:57 +0000 (09:41 +0900)
committerKim Youngjin <yj21c.kim@samsung.com>
Fri, 24 Apr 2015 00:43:59 +0000 (09:43 +0900)
Change-Id: I0d9e9cfa122a7e0d5a7727b887cb1c9f0548aa11
Signed-off-by: Kim Youngjin <yj21c.kim@samsung.com>
src/view/photo-viewer/zoom_view.cpp

index 64680a5..0387263 100644 (file)
@@ -548,53 +548,32 @@ bool CPhotoZoomView::Create(void *data)
 {
        ASSERT(!m);
 
-       Evas_Object *eoWin;
-       eoWin = CViewMgr::GetInstance()->Window();
-       ASSERT(eoWin);
-
-       m = new SPhotoZoomView;
-       if (!m)
-               return false;
-
-       m->eoBase = elm_layout_add(eoWin);
-       if (!m->eoBase) {
-               delete m;
-               m = NULL;
-               return false;
-       }
-
-       if (!elm_layout_file_set(m->eoBase, EDJEFILE, GRP_ZOOM_VIEW))
-               goto error;
-
-       m->eoWin = eoWin;
-       m->minfo = (CMediaInfo *)data;
-
-       if (!m_DrawContent())
-               goto error;
-
-       if (!m_DrawZoomNavi())
-               goto error;
-
-       m->timer = ecore_timer_add(TIMEOUT_ZOOMNAVI, sm_CbTimer, this);
-       if (!m->timer)
-               goto error;
-
-       if (!m->cTimeout.Create(TIMEOUT_PHOTOZOOM, this))
-               goto error;
+       _CREATE_BEGIN{
+               _CHECK(m = new SPhotoZoomView);
+               _CHECK(m->eoWin = CViewMgr::GetInstance()->Window());
+               _CHECK(m->eoBase = elm_layout_add(m->eoWin));
+               _CHECK(elm_layout_file_set(m->eoBase, EDJEFILE, GRP_ZOOM_VIEW));
+               _COMMAND{ m->minfo = (CMediaInfo*)data; }
+               _CHECK(m_DrawContent());
+               _CHECK(m_DrawZoomNavi());
+               _CHECK(m->timer = ecore_timer_add(TIMEOUT_ZOOMNAVI, sm_CbTimer, this));
+               _CHECK(m->cTimeout.Create(TIMEOUT_PHOTOZOOM, this));
+               _CHECK(CBaseView::Create(NULL));
+
+               _CHECK_FAIL{ CBaseView::Destroy(); }
+               _CHECK_FAIL{ m->cTimeout.Destroy(); }
+               _CHECK_FAIL{ ecore_timer_del(m->timer); }
+               _CHECK_FAIL{ /* m_DrawZoomNavi() */ }
+               _CHECK_FAIL{ /* m_DrawContent() */ }
+               _CHECK_FAIL{ /* elm_layout_file_set */ }
+               _CHECK_FAIL{ evas_object_del(m->eoBase); }
+               _CHECK_FAIL{ /* CViewMgr::GetInstance()->Window() */ }
+               _CHECK_FAIL{ delete m; m = NULL; }
+       } _CREATE_END_AND_CATCH{ return false; }
 
        Connect(m->eoBase, ZOOM_VIEW, TYPE_KEY_DOWN | TYPE_KEY_UP);
 
-       CBaseView::Create(NULL);
-
        return true;
-
-error:
-       _ERR("error in creating layout");
-       evas_object_del(m->eoBase);
-       delete m;
-       m = NULL;
-
-       return false;
 }