From: chanywa Date: Fri, 24 Nov 2017 07:10:38 +0000 (+0900) Subject: Terminate HereView when closing HereManager X-Git-Tag: accepted/tizen/unified/20171128.050041^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=83300ef89fc0502b58f2125acf5ec0d44538894e;p=platform%2Fcore%2Flocation%2Fmaps-plugin-here.git Terminate HereView when closing HereManager Change-Id: I31a470fd2274282b42c9de731854dc83cf0c7b4c --- diff --git a/inc/here_view.h b/inc/here_view.h index cb6dc91..82e6a60 100644 --- a/inc/here_view.h +++ b/inc/here_view.h @@ -68,6 +68,7 @@ public: maps_view_object_operation_e operation); here_error_e getViewScale(maps_view_h view, double *scale); here_error_e setViewScale(maps_view_h view, double scale); + void TerminateService(); private: here_error_e initOpenGL(); @@ -92,6 +93,7 @@ private: Evas_GL_API *__api; bool __isInitialized; + bool __isShutdown; int __x, __y, __w, __h; diff --git a/lib/aarch64/libheremaps-engine.so.1 b/lib/aarch64/libheremaps-engine.so.1 index a9e2ae1..837604d 120000 --- a/lib/aarch64/libheremaps-engine.so.1 +++ b/lib/aarch64/libheremaps-engine.so.1 @@ -1 +1 @@ -libheremaps-engine.so.1.0.6_35 \ No newline at end of file +libheremaps-engine.so.1.0.6_36 \ No newline at end of file diff --git a/lib/aarch64/libheremaps-engine.so.1.0.6_35 b/lib/aarch64/libheremaps-engine.so.1.0.6_36 similarity index 71% rename from lib/aarch64/libheremaps-engine.so.1.0.6_35 rename to lib/aarch64/libheremaps-engine.so.1.0.6_36 index 5bf425b..1e5cbb7 100755 Binary files a/lib/aarch64/libheremaps-engine.so.1.0.6_35 and b/lib/aarch64/libheremaps-engine.so.1.0.6_36 differ diff --git a/lib/armv7l/libheremaps-engine.so.1 b/lib/armv7l/libheremaps-engine.so.1 index a9e2ae1..837604d 120000 --- a/lib/armv7l/libheremaps-engine.so.1 +++ b/lib/armv7l/libheremaps-engine.so.1 @@ -1 +1 @@ -libheremaps-engine.so.1.0.6_35 \ No newline at end of file +libheremaps-engine.so.1.0.6_36 \ No newline at end of file diff --git a/lib/armv7l/libheremaps-engine.so.1.0.6_35 b/lib/armv7l/libheremaps-engine.so.1.0.6_36 similarity index 69% rename from lib/armv7l/libheremaps-engine.so.1.0.6_35 rename to lib/armv7l/libheremaps-engine.so.1.0.6_36 index b55291d..0f7ce59 100755 Binary files a/lib/armv7l/libheremaps-engine.so.1.0.6_35 and b/lib/armv7l/libheremaps-engine.so.1.0.6_36 differ diff --git a/lib/i586/libheremaps-engine.so.1 b/lib/i586/libheremaps-engine.so.1 index a9e2ae1..837604d 120000 --- a/lib/i586/libheremaps-engine.so.1 +++ b/lib/i586/libheremaps-engine.so.1 @@ -1 +1 @@ -libheremaps-engine.so.1.0.6_35 \ No newline at end of file +libheremaps-engine.so.1.0.6_36 \ No newline at end of file diff --git a/lib/i586/libheremaps-engine.so.1.0.6_35 b/lib/i586/libheremaps-engine.so.1.0.6_36 similarity index 70% rename from lib/i586/libheremaps-engine.so.1.0.6_35 rename to lib/i586/libheremaps-engine.so.1.0.6_36 index e8e81db..d726384 100755 Binary files a/lib/i586/libheremaps-engine.so.1.0.6_35 and b/lib/i586/libheremaps-engine.so.1.0.6_36 differ diff --git a/lib/x86_64/libheremaps-engine.so.1 b/lib/x86_64/libheremaps-engine.so.1 index a9e2ae1..837604d 120000 --- a/lib/x86_64/libheremaps-engine.so.1 +++ b/lib/x86_64/libheremaps-engine.so.1 @@ -1 +1 @@ -libheremaps-engine.so.1.0.6_35 \ No newline at end of file +libheremaps-engine.so.1.0.6_36 \ No newline at end of file diff --git a/lib/x86_64/libheremaps-engine.so.1.0.6_35 b/lib/x86_64/libheremaps-engine.so.1.0.6_36 similarity index 72% rename from lib/x86_64/libheremaps-engine.so.1.0.6_35 rename to lib/x86_64/libheremaps-engine.so.1.0.6_36 index e54b8c2..84be725 100755 Binary files a/lib/x86_64/libheremaps-engine.so.1.0.6_35 and b/lib/x86_64/libheremaps-engine.so.1.0.6_36 differ diff --git a/maps-plugin-here.changes b/maps-plugin-here.changes index 30c0f80..b8a43cf 100644 --- a/maps-plugin-here.changes +++ b/maps-plugin-here.changes @@ -1,3 +1,8 @@ +[Version] maps-plugin-here_0.3.31 +[Date] 24 Nov 2017 +[Title] Terminate HereView when destroying HereManager +[Developer] Seechan Kim + [Version] maps-plugin-here_0.3.30 [Date] 02 Nov 2017 [Title] Revice the capability of pending requests diff --git a/packaging/maps-plugin-here.spec b/packaging/maps-plugin-here.spec index cdf788d..a2328b3 100644 --- a/packaging/maps-plugin-here.spec +++ b/packaging/maps-plugin-here.spec @@ -1,6 +1,6 @@ Name: maps-plugin-here Summary: Tizen HERE Maps Plug-in Library -Version: 0.3.30 +Version: 0.3.31 Release: 1 Group: Location/Libraries License: Apache-2.0 and HERE diff --git a/src/here_view.cpp b/src/here_view.cpp index f5e1f5c..423b1f7 100644 --- a/src/here_view.cpp +++ b/src/here_view.cpp @@ -36,6 +36,7 @@ HereView::HereView() __api = NULL; __isInitialized = false; + __isShutdown = false; __x = 0; __y = 0; @@ -51,6 +52,15 @@ HereView::~HereView() { } +void HereView::TerminateService(void) +{ + if (!__isShutdown) { + MAPS_LOGD("close HereView"); + close(NULL); + } + delete this; +} + here_error_e HereView::init(maps_view_h view, maps_plugin_map_view_ready_cb callback) { if (!view) @@ -178,18 +188,20 @@ here_error_e HereView::initMap(maps_view_h view, maps_plugin_map_view_ready_cb here_error_e HereView::close(maps_view_h view) { - if (!view) - return HERE_ERROR_INVALID_PARAMETER; + MAPS_LOGD("close"); __isInitialized = false; + __isShutdown = true; __visualObjects.set(NULL, NULL); if (__img) evas_object_image_pixels_get_callback_set(__img, NULL, NULL); - if (__idler) + if (__idler) { ecore_idler_del(__idler); + __idler = NULL; + } if (__map) { __map->SetUpdateMapSignal(NULL); @@ -478,8 +490,9 @@ Eina_Bool HereView::__idlerCb(void *data) { HereView *hv = NULL; int maps_error = maps_view_get_maps_plugin_view_handle(data, (void**)&hv); - if (maps_error != MAPS_ERROR_NONE || !hv) return true; - if (!hv->__map || !hv->__map->GetRootPixmap()) return true; + if (maps_error != MAPS_ERROR_NONE || !hv) return ECORE_CALLBACK_CANCEL; + if (hv->__isShutdown) return ECORE_CALLBACK_CANCEL; + if (!hv->__map || !hv->__map->GetRootPixmap()) return ECORE_CALLBACK_RENEW; while (hv->__pendingObjects.size()) { PendingObject pending = hv->__pendingObjects.front(); @@ -489,7 +502,7 @@ Eina_Bool HereView::__idlerCb(void *data) __processViewObject(data, object, operation); } - return true; + return ECORE_CALLBACK_RENEW; } void HereView::__processViewObject(maps_view_h view, const maps_view_object_h object, maps_view_object_operation_e operation)