[Libreoffice-commits] core.git: sw/source
Tamás Zolnai (via logerrit)
logerrit at kemper.freedesktop.org
Mon May 18 10:23:59 UTC 2020
sw/source/core/crsr/FormFieldButton.cxx | 6 +++++-
sw/source/core/crsr/bookmrk.cxx | 8 --------
2 files changed, 5 insertions(+), 9 deletions(-)
New commits:
commit 1bf0118e6cf4b8b4546a7ce494ff2973724bae1b
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Fri May 15 10:30:51 2020 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Mon May 18 12:23:25 2020 +0200
MSForms: fix rendering of form field button.
It's not enough to check the paint area. because it's
in logic units, which does not change by zooming.
Change-Id: I9ee51c03e7edc2c70d91d6ef6dbaaae8c2c7beff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94400
Tested-by: Tamás Zolnai <tamas.zolnai at collabora.com>
Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>
diff --git a/sw/source/core/crsr/FormFieldButton.cxx b/sw/source/core/crsr/FormFieldButton.cxx
index 162d03f43224..43d8ff6e07e9 100644
--- a/sw/source/core/crsr/FormFieldButton.cxx
+++ b/sw/source/core/crsr/FormFieldButton.cxx
@@ -49,7 +49,11 @@ void FormFieldButton::CalcPosAndSize(const SwRect& rPortionPaintArea)
// Then extend the size with the button area
aBoxSize.AdjustWidth(GetParent()->LogicToPixel(rPortionPaintArea.SSize()).Height());
- SetPosSizePixel(aBoxPos, aBoxSize);
+ if (aBoxPos != GetPosPixel() || aBoxSize != GetSizePixel())
+ {
+ SetPosSizePixel(aBoxPos, aBoxSize);
+ Invalidate();
+ }
}
void FormFieldButton::MouseButtonUp(const MouseEvent&)
diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx
index 583ddaff4a12..bd7e5d48fd12 100644
--- a/sw/source/core/crsr/bookmrk.cxx
+++ b/sw/source/core/crsr/bookmrk.cxx
@@ -700,19 +700,11 @@ namespace sw::mark
void DropDownFieldmark::SetPortionPaintArea(const SwRect& rPortionPaintArea)
{
- if(m_aPortionPaintArea == rPortionPaintArea &&
- m_pButton && m_pButton->IsVisible())
- {
- SendLOKMessage("show");
- return;
- }
-
m_aPortionPaintArea = rPortionPaintArea;
if(m_pButton)
{
m_pButton->Show();
m_pButton->CalcPosAndSize(m_aPortionPaintArea);
- m_pButton->Invalidate();
SendLOKMessage("show");
}
}
More information about the Libreoffice-commits
mailing list