diff options
Diffstat (limited to 'xfa/fwl/core')
-rw-r--r-- | xfa/fwl/core/cfwl_event.h | 15 | ||||
-rw-r--r-- | xfa/fwl/core/ifwl_widget.cpp | 5 |
2 files changed, 3 insertions, 17 deletions
diff --git a/xfa/fwl/core/cfwl_event.h b/xfa/fwl/core/cfwl_event.h index e7bc15ad58..a20abaa2a2 100644 --- a/xfa/fwl/core/cfwl_event.h +++ b/xfa/fwl/core/cfwl_event.h @@ -78,17 +78,12 @@ class CFWL_Event { virtual CFWL_EventType GetClassID() const; - uint32_t Release(); - IFWL_Widget* m_pSrcTarget; IFWL_Widget* m_pDstTarget; - - private: - uint32_t m_dwRefCount; }; inline CFWL_Event::CFWL_Event() - : m_pSrcTarget(nullptr), m_pDstTarget(nullptr), m_dwRefCount(1) {} + : m_pSrcTarget(nullptr), m_pDstTarget(nullptr) {} inline CFWL_Event::~CFWL_Event() {} @@ -96,14 +91,6 @@ inline CFWL_EventType CFWL_Event::GetClassID() const { return CFWL_EventType::None; } -inline uint32_t CFWL_Event::Release() { - m_dwRefCount--; - uint32_t dwRefCount = m_dwRefCount; - if (!m_dwRefCount) - delete this; - return dwRefCount; -} - #define FWL_EVENT_DEF(classname, eventType, ...) \ class classname : public CFWL_Event { \ public: \ diff --git a/xfa/fwl/core/ifwl_widget.cpp b/xfa/fwl/core/ifwl_widget.cpp index f8288eb0e4..454f4833fd 100644 --- a/xfa/fwl/core/ifwl_widget.cpp +++ b/xfa/fwl/core/ifwl_widget.cpp @@ -551,13 +551,12 @@ void IFWL_Widget::DispatchKeyEvent(CFWL_MsgKey* pNote) { if (!pNote) return; - CFWL_EvtKey* pEvent = new CFWL_EvtKey; + auto pEvent = pdfium::MakeUnique<CFWL_EvtKey>(); pEvent->m_pSrcTarget = this; pEvent->m_dwCmd = pNote->m_dwCmd; pEvent->m_dwKeyCode = pNote->m_dwKeyCode; pEvent->m_dwFlags = pNote->m_dwFlags; - DispatchEvent(pEvent); - pEvent->Release(); + DispatchEvent(pEvent.get()); } void IFWL_Widget::DispatchEvent(CFWL_Event* pEvent) { |