| Index: ui/events/event.cc
|
| diff --git a/ui/events/event.cc b/ui/events/event.cc
|
| index 41f4ca69ebb8a010a748cb70e4404fdfcb42d0ce..0f2403d2152db1a672414896f5679f0943b831b2 100644
|
| --- a/ui/events/event.cc
|
| +++ b/ui/events/event.cc
|
| @@ -29,24 +29,6 @@
|
|
|
| namespace {
|
|
|
| -base::NativeEvent CopyNativeEvent(const base::NativeEvent& event) {
|
| -#if defined(USE_X11)
|
| - if (!event || event->type == GenericEvent)
|
| - return NULL;
|
| - XEvent* copy = new XEvent;
|
| - *copy = *event;
|
| - return copy;
|
| -#elif defined(OS_WIN)
|
| - return event;
|
| -#elif defined(USE_OZONE)
|
| - return NULL;
|
| -#else
|
| - NOTREACHED() <<
|
| - "Don't know how to copy base::NativeEvent for this platform";
|
| - return NULL;
|
| -#endif
|
| -}
|
| -
|
| std::string EventTypeName(ui::EventType type) {
|
| #define RETURN_IF_TYPE(t) if (type == ui::t) return #t
|
| #define CASE_TYPE(t) case ui::t: return #t
|
| @@ -119,10 +101,9 @@ namespace ui {
|
| // Event
|
|
|
| Event::~Event() {
|
| -#if defined(USE_X11)
|
| - if (delete_native_event_)
|
| - delete native_event_;
|
| -#endif
|
| + if (!delete_native_event_)
|
| + return;
|
| + ReleaseCopiedNativeEvent(native_event_);
|
| }
|
|
|
| bool Event::HasNativeEvent() const {
|
| @@ -198,7 +179,7 @@ Event::Event(const Event& copy)
|
| time_stamp_(copy.time_stamp_),
|
| latency_(copy.latency_),
|
| flags_(copy.flags_),
|
| - native_event_(::CopyNativeEvent(copy.native_event_)),
|
| + native_event_(CopyNativeEvent(copy.native_event_)),
|
| delete_native_event_(false),
|
| cancelable_(true),
|
| target_(NULL),
|
| @@ -206,7 +187,7 @@ Event::Event(const Event& copy)
|
| result_(ER_UNHANDLED) {
|
| if (type_ < ET_LAST)
|
| name_ = EventTypeName(type_);
|
| -#if defined(USE_X11)
|
| +#if defined(USE_X11) || defined(OS_MACOSX)
|
| if (native_event_)
|
| delete_native_event_ = true;
|
| #endif
|
|
|