include/vcl/salnativewidgets.hxx | 6 ++++++ vcl/source/control/spinfld.cxx | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-)
New commits: commit 2fb86ca5316bb5cd982ac9283fae0d9930c692c7 Author: Michael Meeks <michael.me...@collabora.com> Date: Wed Feb 17 20:42:52 2016 +0000 tdf#97922 - get control area right for spinbuttons. Also avoid caching both spin-buttons and some other complex types. The cache key needs to be able to include more state. Change-Id: I8eff6b1c5c51d27afb796cae66b45390433138b4 Reviewed-on: https://gerrit.libreoffice.org/22443 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/include/vcl/salnativewidgets.hxx b/include/vcl/salnativewidgets.hxx index 8c1176a..0789270 100644 --- a/include/vcl/salnativewidgets.hxx +++ b/include/vcl/salnativewidgets.hxx @@ -288,6 +288,12 @@ public: case CTRL_RADIOBUTTON: case CTRL_LISTNODE: case CTRL_SLIDER: + // FIXME: these guys have complex state hidden in ImplControlValue + // structs which affects rendering, needs to be a and needs to be + // part of the key to our cache. + case CTRL_SPINBOX: + case CTRL_SPINBUTTONS: + case CTRL_TAB_ITEM: return false; case CTRL_MENUBAR: diff --git a/vcl/source/control/spinfld.cxx b/vcl/source/control/spinfld.cxx index 8f4bbca..750900f 100644 --- a/vcl/source/control/spinfld.cxx +++ b/vcl/source/control/spinfld.cxx @@ -143,8 +143,9 @@ bool ImplDrawNativeSpinbuttons(vcl::RenderContext& rRenderContext, const Spinbut if (rRenderContext.IsNativeControlSupported(CTRL_SPINBUTTONS, PART_ENTIRE_CONTROL)) { + Rectangle aArea = rSpinbuttonValue.maUpperRect.GetUnion(rSpinbuttonValue.maLowerRect); // only paint the standalone spin buttons, all buttons are painted at once - bNativeOK = rRenderContext.DrawNativeControl(CTRL_SPINBUTTONS, PART_ALL_BUTTONS, Rectangle(), + bNativeOK = rRenderContext.DrawNativeControl(CTRL_SPINBUTTONS, PART_ALL_BUTTONS, aArea, ControlState::ENABLED, rSpinbuttonValue, OUString()); } return bNativeOK;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits