void Event::handle() { Handler* h = nil; if (rep()->xevent_.type != KeyPress) { h = grabber(); }else if (ivoc_snapshot_ && (*ivoc_snapshot_)(this)) { return; } if (h == nil) { h = handler(); } if (h != nil) { boolean b = Resource::defer(true); h->ref(); h->event(*this); h->unref(); Resource::flush(); Resource::defer(b); } }
void InteractorHelper::Handle(Event& e) { Handler* h = handler_; Resource::ref(h); h->event(e); Resource::unref(h); }