svtools/source/control/valueset.cxx | 2 +- vcl/source/app/salvtables.cxx | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-)
New commits: commit 9c3faeae633f0c1efea199e522d2413461b16345 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon Jan 14 21:05:41 2019 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Tue Jan 15 09:52:47 2019 +0100 Resolves: tdf#122656 keypress handled twice Change-Id: I8a9ec82d46a3df04554c139264755c8f28f5e897 Reviewed-on: https://gerrit.libreoffice.org/66335 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx index a422048583c4..5b7ca0504d05 100644 --- a/svtools/source/control/valueset.cxx +++ b/svtools/source/control/valueset.cxx @@ -2545,7 +2545,7 @@ bool SvtValueSet::KeyInput( const KeyEvent& rKeyEvent ) } if ( nItemPos == VALUESET_ITEM_NOTFOUND ) - return false; + return true; if ( nItemPos!=VALUESET_ITEM_NONEITEM && nItemPos<nLastItem ) { diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 34c86b8fe960..19af48748b34 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -229,6 +229,9 @@ private: } } +protected: + virtual void HandleEventListener(VclWindowEvent& rEvent); + public: SalInstanceWidget(vcl::Window* pWidget, bool bTakeOwnership) : m_xWidget(pWidget) @@ -537,7 +540,7 @@ public: } }; -IMPL_LINK(SalInstanceWidget, EventListener, VclWindowEvent&, rEvent, void) +void SalInstanceWidget::HandleEventListener(VclWindowEvent& rEvent) { if (rEvent.GetId() == VclEventId::WindowGetFocus || rEvent.GetId() == VclEventId::WindowActivate) m_aFocusInHdl.Call(*this); @@ -557,6 +560,11 @@ IMPL_LINK(SalInstanceWidget, EventListener, VclWindowEvent&, rEvent, void) } } +IMPL_LINK(SalInstanceWidget, EventListener, VclWindowEvent&, rEvent, void) +{ + HandleEventListener(rEvent); +} + namespace { Image createImage(const OUString& rImage) @@ -2884,6 +2892,20 @@ private: DECL_LINK(PopupMenuHdl, const Point&, bool); DECL_LINK(QueryTooltipHdl, tools::Rectangle&, OUString); + // SalInstanceWidget has a generic listener for all these + // events, ignore the ones we have specializations for + // in VclDrawingArea + virtual void HandleEventListener(VclWindowEvent& rEvent) override + { + if (rEvent.GetId() == VclEventId::WindowResize || + rEvent.GetId() == VclEventId::WindowKeyInput || + rEvent.GetId() == VclEventId::WindowKeyUp) + { + return; + } + SalInstanceWidget::HandleEventListener(rEvent); + } + public: SalInstanceDrawingArea(VclDrawingArea* pDrawingArea, const a11yref& rAlly, FactoryFunction pUITestFactoryFunction, void* pUserData, bool bTakeOwnership) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits