Terminate HereView when closing HereManager 59/161559/2 accepted/tizen/4.0/unified/20171128.072845 submit/tizen_4.0/20171127.095948
authorchanywa <cbible.kim@samsung.com>
Fri, 24 Nov 2017 06:24:28 +0000 (15:24 +0900)
committerchanywa <cbible.kim@samsung.com>
Fri, 24 Nov 2017 06:35:53 +0000 (15:35 +0900)
Change-Id: I3607cfca983695b67a7befeb055a7b2cac108dce

16 files changed:
inc/here_view.h
lib/aarch64/libheremaps-engine.so.1
lib/aarch64/libheremaps-engine.so.1.0.6_35 [deleted file]
lib/aarch64/libheremaps-engine.so.1.0.6_36 [new file with mode: 0755]
lib/armv7l/libheremaps-engine.so.1
lib/armv7l/libheremaps-engine.so.1.0.6_35 [deleted file]
lib/armv7l/libheremaps-engine.so.1.0.6_36 [new file with mode: 0755]
lib/i586/libheremaps-engine.so.1
lib/i586/libheremaps-engine.so.1.0.6_35 [deleted file]
lib/i586/libheremaps-engine.so.1.0.6_36 [new file with mode: 0755]
lib/x86_64/libheremaps-engine.so.1
lib/x86_64/libheremaps-engine.so.1.0.6_35 [deleted file]
lib/x86_64/libheremaps-engine.so.1.0.6_36 [new file with mode: 0755]
maps-plugin-here.changes
packaging/maps-plugin-here.spec
src/here_view.cpp

index cb6dc915290be6f39d2d59e595378cbb058d9c1a..82e6a60deebcc6ffcaa4940df2ef6e81d6bc7227 100644 (file)
@@ -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;
 
index a9e2ae1392a82ccfbf2849a9aad65036d7d89c05..837604d2348be79c5e6492bc9a31b437e70cfb8d 120000 (symlink)
@@ -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_35
deleted file mode 100755 (executable)
index 6d9f4fb..0000000
Binary files a/lib/aarch64/libheremaps-engine.so.1.0.6_35 and /dev/null differ
diff --git a/lib/aarch64/libheremaps-engine.so.1.0.6_36 b/lib/aarch64/libheremaps-engine.so.1.0.6_36
new file mode 100755 (executable)
index 0000000..ee57049
Binary files /dev/null and b/lib/aarch64/libheremaps-engine.so.1.0.6_36 differ
index a9e2ae1392a82ccfbf2849a9aad65036d7d89c05..837604d2348be79c5e6492bc9a31b437e70cfb8d 120000 (symlink)
@@ -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_35
deleted file mode 100755 (executable)
index 837c734..0000000
Binary files a/lib/armv7l/libheremaps-engine.so.1.0.6_35 and /dev/null differ
diff --git a/lib/armv7l/libheremaps-engine.so.1.0.6_36 b/lib/armv7l/libheremaps-engine.so.1.0.6_36
new file mode 100755 (executable)
index 0000000..9548b11
Binary files /dev/null and b/lib/armv7l/libheremaps-engine.so.1.0.6_36 differ
index a9e2ae1392a82ccfbf2849a9aad65036d7d89c05..837604d2348be79c5e6492bc9a31b437e70cfb8d 120000 (symlink)
@@ -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_35
deleted file mode 100755 (executable)
index db96167..0000000
Binary files a/lib/i586/libheremaps-engine.so.1.0.6_35 and /dev/null differ
diff --git a/lib/i586/libheremaps-engine.so.1.0.6_36 b/lib/i586/libheremaps-engine.so.1.0.6_36
new file mode 100755 (executable)
index 0000000..672c9e6
Binary files /dev/null and b/lib/i586/libheremaps-engine.so.1.0.6_36 differ
index a9e2ae1392a82ccfbf2849a9aad65036d7d89c05..837604d2348be79c5e6492bc9a31b437e70cfb8d 120000 (symlink)
@@ -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_35
deleted file mode 100755 (executable)
index 8c73161..0000000
Binary files a/lib/x86_64/libheremaps-engine.so.1.0.6_35 and /dev/null differ
diff --git a/lib/x86_64/libheremaps-engine.so.1.0.6_36 b/lib/x86_64/libheremaps-engine.so.1.0.6_36
new file mode 100755 (executable)
index 0000000..32a77c1
Binary files /dev/null and b/lib/x86_64/libheremaps-engine.so.1.0.6_36 differ
index 30c0f80886048d0d0b9b57f9a85c225c029a908c..b8a43cf8b40d0ed55454bf5b618ba0488fafa61c 100644 (file)
@@ -1,3 +1,8 @@
+[Version]   maps-plugin-here_0.3.31
+[Date]      24 Nov 2017
+[Title]     Terminate HereView when destroying HereManager
+[Developer] Seechan Kim <cbible.kim@samsung.com>
+
 [Version]   maps-plugin-here_0.3.30
 [Date]      02 Nov 2017
 [Title]     Revice the capability of pending requests
index cdf788dd48cf74773e1e8027337ca0d7f9b54f26..a2328b3ba32de2685d861b55c351ccca8ccdd024 100644 (file)
@@ -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
index f5e1f5c4e0aff90bf41d9350f0e4f049603b4101..423b1f766be0cf7db64e5c7d11c9f1e475353791 100644 (file)
@@ -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)