summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-03-08 17:35:21 +0000
committerCaolán McNamara <caolanm@redhat.com>2018-03-08 21:33:21 +0100
commitb18e2d80d7ed102645f7d6df75f521cd584c8a71 (patch)
tree3f996b238c4a0d41691e7d0aa2857ab575b974d5 /cui
parent598cf9f76176c6bef00402755d0e941a036c6a2d (diff)
color picker behaviour changed
since... commit db42098d99bd8648fcd7b6f669e3e5ad4142670a Date: Fri Feb 9 10:47:48 2018 +0200 use VirtualDevice in ColorFieldControl as part of moving use of BitmapWriteAccess inside of vcl/ changing the radiobutton selected used to change the contents of the color picker widget, after that point it got locked to the original contents. Change-Id: I94c730f1868efc388cba7720364bc04a666d4fbd Reviewed-on: https://gerrit.libreoffice.org/50969 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'cui')
-rw-r--r--cui/source/dialogs/colorpicker.cxx46
1 files changed, 23 insertions, 23 deletions
diff --git a/cui/source/dialogs/colorpicker.cxx b/cui/source/dialogs/colorpicker.cxx
index 2619fa1c6f3a..3557e1401f54 100644
--- a/cui/source/dialogs/colorpicker.cxx
+++ b/cui/source/dialogs/colorpicker.cxx
@@ -265,41 +265,41 @@ void ColorFieldControl::UpdateBitmap()
{
const Size aSize(GetOutputSizePixel());
+ if (mxBitmap && mxBitmap->GetOutputSizePixel() != aSize)
+ mxBitmap.disposeAndClear();
+
const sal_Int32 nWidth = aSize.Width();
const sal_Int32 nHeight = aSize.Height();
if (nWidth == 0 || nHeight == 0)
return;
- if (mxBitmap && mxBitmap->GetOutputSizePixel() == aSize)
- return;
-
- mxBitmap.disposeAndClear();
- mxBitmap = VclPtr<VirtualDevice>::Create();
- mxBitmap->SetOutputSizePixel(aSize);
+ if (!mxBitmap)
+ {
+ mxBitmap = VclPtr<VirtualDevice>::Create();
+ mxBitmap->SetOutputSizePixel(aSize);
- maRGB_Horiz.resize( nWidth );
- maGrad_Horiz.resize( nWidth );
- maPercent_Horiz.resize( nWidth );
+ maRGB_Horiz.resize( nWidth );
+ maGrad_Horiz.resize( nWidth );
+ maPercent_Horiz.resize( nWidth );
- sal_uInt8* pRGB = maRGB_Horiz.data();
- sal_uInt16* pGrad = maGrad_Horiz.data();
- sal_uInt16* pPercent = maPercent_Horiz.data();
+ sal_uInt8* pRGB = maRGB_Horiz.data();
+ sal_uInt16* pGrad = maGrad_Horiz.data();
+ sal_uInt16* pPercent = maPercent_Horiz.data();
- for( sal_Int32 x = 0; x < nWidth; x++ )
- {
- *pRGB++ = static_cast<sal_uInt8>((x * 256) / nWidth);
- *pGrad++ = static_cast<sal_uInt16>((x * 359) / nWidth);
- *pPercent++ = static_cast<sal_uInt16>((x * 100) / nWidth);
- }
+ for( sal_Int32 x = 0; x < nWidth; x++ )
+ {
+ *pRGB++ = static_cast<sal_uInt8>((x * 256) / nWidth);
+ *pGrad++ = static_cast<sal_uInt16>((x * 359) / nWidth);
+ *pPercent++ = static_cast<sal_uInt16>((x * 100) / nWidth);
+ }
- maRGB_Vert.resize(nHeight);
- maPercent_Vert.resize(nHeight);
+ maRGB_Vert.resize(nHeight);
+ maPercent_Vert.resize(nHeight);
- pRGB = maRGB_Vert.data();
- pPercent = maPercent_Vert.data();
+ pRGB = maRGB_Vert.data();
+ pPercent = maPercent_Vert.data();
- {
sal_Int32 y = nHeight;
while (y--)
{