From faa013fde1c1be9a5d27289cb516dc25eb6c8401 Mon Sep 17 00:00:00 2001 From: "xb.teng" Date: Thu, 14 Dec 2017 00:21:19 +0800 Subject: [PATCH] [4.0] Fix finalize issue Change-Id: I45633ba56658a813bb8f0f87e59a77777995f788 --- adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp | 5 ++--- adaptors/x11/imf-manager-impl-x.cpp | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp b/adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp index 7fd3857..6f10a2d 100755 --- a/adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp +++ b/adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp @@ -265,7 +265,6 @@ void ImfManager::Finalize() { DisconnectCallbacks(); DeleteContext(); - ecore_imf_shutdown(); mInited = false; } } @@ -326,9 +325,7 @@ Dali::ImfManager ImfManager::Get() if ( ( imfManager != NULL ) && !imfManager->mInited ) { - ecore_imf_init(); imfManager->CreateContext( imfManager->mEcoreWlwin ); - imfManager->ConnectCallbacks(); imfManager->mInited = true; } @@ -345,11 +342,13 @@ ImfManager::ImfManager( Ecore_Wl_Window *ecoreWlwin ) mRestoreAfterFocusLost( false ), mIdleCallbackConnected( false ) { + ecore_imf_init(); } ImfManager::~ImfManager() { Finalize(); + ecore_imf_shutdown(); } void ImfManager::CreateContext( Ecore_Wl_Window *ecoreWlwin ) diff --git a/adaptors/x11/imf-manager-impl-x.cpp b/adaptors/x11/imf-manager-impl-x.cpp index ac52681..98f57dd 100755 --- a/adaptors/x11/imf-manager-impl-x.cpp +++ b/adaptors/x11/imf-manager-impl-x.cpp @@ -130,7 +130,6 @@ void ImfManager::Finalize() VirtualKeyboard::DisconnectCallbacks( mIMFContext ); DisconnectCallbacks(); DeleteContext(); - ecore_imf_shutdown(); mInited = false; } } @@ -192,7 +191,6 @@ Dali::ImfManager ImfManager::Get() if ( ( imfManager != NULL ) &&!imfManager->mInited ) { - ecore_imf_init(); imfManager->CreateContext( imfManager->mEcoreXWin ); imfManager->ConnectCallbacks(); @@ -212,11 +210,13 @@ ImfManager::ImfManager(Ecore_X_Window ecoreXwin ) mRestoreAfterFocusLost( false ), mIdleCallbackConnected( false ) { + ecore_imf_init(); } ImfManager::~ImfManager() { Finalize(); + ecore_imf_shutdown(); } void ImfManager::CreateContext( Ecore_X_Window ecoreXwin ) -- 2.7.4