diff options
-rw-r--r-- | include/vcl/salnativewidgets.hxx | 6 | ||||
-rw-r--r-- | vcl/source/control/spinfld.cxx | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/vcl/salnativewidgets.hxx b/include/vcl/salnativewidgets.hxx index 55de313c8219..0b60312df0e2 100644 --- a/include/vcl/salnativewidgets.hxx +++ b/include/vcl/salnativewidgets.hxx @@ -286,6 +286,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 1ef9c96694c9..e0bcf16eeb77 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; |