diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-12-09 13:09:56 +0100 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-12-09 20:03:35 +0100 |
commit | 8409df4a29857acefb6e7d7d6f33e1011a65b070 (patch) | |
tree | e10d4d1c18bae8617a70a664dcaaa41eb2d56b4b /editeng/source | |
parent | d601ed92689d2a353710668e23fa904d06c3610d (diff) |
sc: avoid dynamic_cast when possible
After b9362e87a3646a6693b81fb0d40e28ce7813a251
< tdf#145671 Don't open URL twice in cell edit mode >
Change-Id: I7b5b00aa48092666640927d268bc9d5bde0d24e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126586
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'editeng/source')
-rw-r--r-- | editeng/source/editeng/impedit2.cxx | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index cbbfddff51c7..8f3fb3f34eaa 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -612,22 +612,24 @@ bool ImpEditEngine::MouseButtonUp( const MouseEvent& rMEvt, EditView* pView ) if (const SvxFieldItem* pFld = pView->GetField(aLogicClick)) { bool bUrlOpened = GetEditEnginePtr()->FieldClicked( *pFld ); - auto pUrlField = dynamic_cast<const SvxURLField*>(pFld->GetField()); // tdf#121039 When in edit mode, editeng is responsible for opening the URL on mouse click - if (!bUrlOpened && pUrlField) + if (!bUrlOpened) { - bool bCtrlClickHappened = rMEvt.IsMod1(); - bool bCtrlClickSecOption - = SvtSecurityOptions::IsOptionSet(SvtSecurityOptions::EOption::CtrlClickHyperlink); - if ((bCtrlClickHappened && bCtrlClickSecOption) - || (!bCtrlClickHappened && !bCtrlClickSecOption)) + if (auto pUrlField = dynamic_cast<const SvxURLField*>(pFld->GetField())) { - css::uno::Reference<css::system::XSystemShellExecute> exec( - css::system::SystemShellExecute::create( - comphelper::getProcessComponentContext())); - exec->execute(pUrlField->GetURL(), OUString(), - css::system::SystemShellExecuteFlags::DEFAULTS); + bool bCtrlClickHappened = rMEvt.IsMod1(); + bool bCtrlClickSecOption + = SvtSecurityOptions::IsOptionSet(SvtSecurityOptions::EOption::CtrlClickHyperlink); + if ((bCtrlClickHappened && bCtrlClickSecOption) + || (!bCtrlClickHappened && !bCtrlClickSecOption)) + { + css::uno::Reference<css::system::XSystemShellExecute> exec( + css::system::SystemShellExecute::create( + comphelper::getProcessComponentContext())); + exec->execute(pUrlField->GetURL(), OUString(), + css::system::SystemShellExecuteFlags::DEFAULTS); + } } } } |