N_SE-36002 : fix submode for implicit resolution
[platform/framework/native/appfw.git] / src / app / FApp_AppControlManager.cpp
index 680f674..79ea317 100755 (executable)
@@ -76,8 +76,6 @@ using namespace Tizen::Base::Runtime;
 using namespace Tizen::Base::Utility;
 using namespace Tizen::Io;
 
-//extern const char* _DATACONTROL_RESULTSET_DIR;
-
 namespace Tizen { namespace App
 {
 
@@ -305,7 +303,7 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, int res, const IMap* p
 
                                if (pResponseEvent != null)
                                {
-                                       _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_COMPLETE, aId, oId, E_SUCCESS, static_cast<AppCtrlResult>(res), pArgs, responseEventRequestId);
+                                       _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_COMPLETE, aId, oId, E_SUCCESS, static_cast<AppCtrlResult>(res), const_cast<IMap*> (pArgs), responseEventRequestId);
                                        if (pResponseEventArg != null)
                                        {
                                                pResponseEvent->Fire(*pResponseEventArg);
@@ -316,6 +314,8 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, int res, const IMap* p
                                {
                                        pListener->OnAppControlCompleteResponseReceived(aId, oId, ConvertAppControlResultCode(res), pArgs);
                                        SysLog(NID_APP, "OnAppControlCompleteResponseReceived called directly");
+                                       IMap* pMap = const_cast<IMap*> (pArgs);
+                                       delete pMap;
                                }
                        }
                        else
@@ -788,6 +788,12 @@ _AppControlManager::LaunchAppImplicit(_AppArg* pArg, int req)
                _AppMessageImpl::AddData(kb, SELECTOR_NOTI_KEY, _AppInfo::GetApplicationId());
        }
 
+       if (_AppImpl::GetInstance() != null)
+       {
+               const long handle = _AppImpl::GetInstance()->GetWindowHandle();
+               _AppArg::UpdateWindowHandle(kb, handle);
+       }
+
        int pid = appsvc_run_service(kb, req, LaunchResultCb, this);
        if (pid > 0)
        {