Kaydet (Commit) af4fc900 authored tarafından Miklos Vajna's avatar Miklos Vajna Kaydeden (comit) Michael Meeks

cui: fix Impress hyperlink insert when the form listbox is hidden

In preparation of forward-porting the distro/collabora/cp-6.0-only
commit 418adc09 (lo: disable under-used
hyperlink fields that are buggy online., 2019-05-22), which relaxes the
invariant that mpLbForm never returns LISTBOX_ENTRY_NOTFOUND.

A signed integer overflow is a problem in itself, but in practice the
SID_HYPERLINK_SETLINK handler in sd::DrawViewShell::FuTemporary() didn't
insert a field, since the insert mode was a large negative value instead
of HLINK_FIELD.

[ master -> cp-6.0 backport note: on this branch, this fixes a
regression. ]

Conflicts:
	cui/source/dialogs/hltpbase.cxx

Change-Id: I238d9f662a74f320d05ea6a6cc97319d2d5b3d5a
Reviewed-on: https://gerrit.libreoffice.org/73036Reviewed-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
Tested-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
üst 17570651
......@@ -450,7 +450,13 @@ void SvxHyperlinkTabPageBase::GetDataFromCommonFields( OUString& aStrName,
aStrIntName = mpEdText->GetText();
aStrName = mpEdIndication->GetText();
aStrFrame = mpCbbFrame->GetText();
eMode = (SvxLinkInsertMode) (mpLbForm->GetSelectedEntryPos()+1);
sal_Int32 nPos = mpLbForm->GetSelectedEntryPos();
if (nPos == LISTBOX_ENTRY_NOTFOUND)
// This happens when FillStandardDlgFields() hides mpLbForm.
nPos = 0;
eMode = static_cast<SvxLinkInsertMode>(nPos + 1);
// Ask dialog whether the current doc is a HTML-doc
if (static_cast<SvxHpLinkDlg*>(mpDialog.get())->IsHTMLDoc())
eMode = (SvxLinkInsertMode) ( sal_uInt16(eMode) | HLINK_HTMLMODE );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment