From b374a9a17585ce38e105a3a821616898ffb6e15a Mon Sep 17 00:00:00 2001 From: Jehun Lim Date: Mon, 18 May 2015 19:48:14 +0900 Subject: [PATCH] prevent elm_gengrid_clear() when the app is launched as event layout Change-Id: I700a4243ad33b5ff2d216798983c70a3c4a7c18c Signed-off-by: Jehun Lim --- src/view/gallery-view/layout_events.cpp | 34 ++++++++++----------------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/src/view/gallery-view/layout_events.cpp b/src/view/gallery-view/layout_events.cpp index 2a5a34e..1b2cb77 100644 --- a/src/view/gallery-view/layout_events.cpp +++ b/src/view/gallery-view/layout_events.cpp @@ -60,6 +60,7 @@ struct SEventLayout { Eina_List *event_list; int sort; + Eina_Bool direct_launch; Eina_Bool layout_2ndview; struct layout_data *ld; @@ -70,30 +71,6 @@ struct SEventLayout { SSortCallbackPair *SortCb; SSigCallbackPair *SigCb; SMediaCallbackPair *MediaCb; - - SEventLayout() { - base = NULL; - grid = NULL; - current_item = NULL; - - arglist = NULL; - media_list = NULL; - event_list = NULL; - sort = 0; - - layout_2ndview = EINA_FALSE; - - ld = NULL; - - pLayoutMgr = NULL; - - FocusCb = NULL; - SortCb = NULL; - SigCb = NULL; - MediaCb = NULL; - } - - ~SEventLayout() {} }; char *CEventLayout::sm_CbGridTextGet(void *data, Evas_Object *obj, const char *part) @@ -506,6 +483,8 @@ void CEventLayout::DirectLaunch(const char *id) elm_object_item_focus_set(it, EINA_TRUE); m_OnGridActivated(it, NULL, NULL); } + + m->direct_launch = EINA_TRUE; } void CEventLayout::Focus(void) @@ -540,6 +519,11 @@ void CEventLayout::Update(struct layout_data *ld) { ASSERT(m); + if (m->direct_launch) { + m->direct_launch = EINA_FALSE; + return; + } + m->arglist = ld->arglist; m->sort = ld->sort; m->event_list = eina_list_clone(ld->media_list); @@ -636,6 +620,8 @@ bool CEventLayout::Create(CLayoutMgr *lmgr, void *data) if (!m) return false; + memset(m, 0, sizeof(*m)); + m->base = lmgr->Base(); if (!m->base) { delete m; -- 2.7.4