summaryrefslogtreecommitdiff
path: root/editeng/source/editeng
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2021-12-09 13:09:56 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-12-09 20:03:35 +0100
commit8409df4a29857acefb6e7d7d6f33e1011a65b070 (patch)
treee10d4d1c18bae8617a70a664dcaaa41eb2d56b4b /editeng/source/editeng
parentd601ed92689d2a353710668e23fa904d06c3610d (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/editeng')
-rw-r--r--editeng/source/editeng/impedit2.cxx26
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);
+ }
}
}
}