I suspect that oxide::qquick::ContentsView::HasFocus also needs to verify that item_ == item_->window()->activeFocusItem() (http://doc.qt.io/qt-5/qquickwindow.html#activeFocusItem-prop). It looks like this is cleared before dispatching QQuickItem::focusOutEvent(), whereas QQuickItemPrivate::activeFocus isn't.
I suspect that oxide:: qquick: :ContentsView: :HasFocus also needs to verify that item_ == item_-> window( )->activeFocusI tem() (http:// doc.qt. io/qt-5/ qquickwindow. html#activeFocu sItem-prop). It looks like this is cleared before dispatching QQuickItem: :focusOutEvent( ), whereas QQuickItemPriva te::activeFocus isn't.