summaryrefslogtreecommitdiff
path: root/xfa/fxfa/cxfa_ffapp.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/cxfa_ffapp.h')
-rw-r--r--xfa/fxfa/cxfa_ffapp.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/xfa/fxfa/cxfa_ffapp.h b/xfa/fxfa/cxfa_ffapp.h
index 0a6409d3d1..1ae2073d82 100644
--- a/xfa/fxfa/cxfa_ffapp.h
+++ b/xfa/fxfa/cxfa_ffapp.h
@@ -13,6 +13,7 @@
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fpdfapi/parser/cpdf_stream_acc.h"
#include "core/fxcrt/cfx_retain_ptr.h"
+#include "core/fxcrt/cfx_unowned_ptr.h"
#include "xfa/fgas/font/cfgas_fontmgr.h"
#include "xfa/fwl/cfwl_app.h"
#include "xfa/fxfa/fxfa.h"
@@ -44,7 +45,7 @@ class CXFA_FFApp {
IFWL_AdapterTimerMgr* GetTimerMgr() const;
CXFA_FontMgr* GetXFAFontMgr() const;
CFWL_WidgetMgrDelegate* GetWidgetMgrDelegate() const {
- return m_pWidgetMgrDelegate;
+ return m_pWidgetMgrDelegate.Get();
}
void ClearEventTargets();
@@ -70,12 +71,15 @@ class CXFA_FFApp {
std::unique_ptr<CFX_FontSourceEnum_File> m_pFontSource;
#endif
std::unique_ptr<CXFA_FWLAdapterWidgetMgr> m_pAdapterWidgetMgr;
- CFWL_WidgetMgrDelegate* m_pWidgetMgrDelegate; // not owned.
// |m_pFWLApp| has to be released first, then |m_pFWLTheme| since the former
// may refers to theme manager and the latter refers to font manager.
std::unique_ptr<CXFA_FWLTheme> m_pFWLTheme;
std::unique_ptr<CFWL_App> m_pFWLApp;
+
+ // |m_pWidgetMgrDelegate| has to be released before |m_pFWLApp|, since
+ // |m_pFWLApp| is its owner.
+ CFX_UnownedPtr<CFWL_WidgetMgrDelegate> m_pWidgetMgrDelegate;
};
#endif // XFA_FXFA_CXFA_FFAPP_H_