[Libreoffice-commits] core.git: vcl/source
Mike Kaganski (via logerrit)
logerrit at kemper.freedesktop.org
Fri May 29 09:25:49 UTC 2020
vcl/source/bitmap/bitmap.cxx | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
New commits:
commit 4f6b3e3089f070e7bf4b061c549ab3c6614dd542
Author: Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Thu May 14 14:42:24 2020 +0300
Commit: Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Fri May 29 11:25:12 2020 +0200
Allow dumping Bitmap in its dtor in dbgutil builds
Change-Id: I81ec9d1c16a07c6c56e51e7e334fb692b963e1e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95054
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
diff --git a/vcl/source/bitmap/bitmap.cxx b/vcl/source/bitmap/bitmap.cxx
index 20045fc78f5e..fd37da07e9ef 100644
--- a/vcl/source/bitmap/bitmap.cxx
+++ b/vcl/source/bitmap/bitmap.cxx
@@ -31,6 +31,12 @@
#include <algorithm>
#include <memory>
+#ifdef DBG_UTIL
+#include <cstdlib>
+#include <tools/stream.hxx>
+#include <vcl/graphicfilter.hxx>
+#endif
+
Bitmap::Bitmap()
{
}
@@ -110,8 +116,32 @@ Bitmap::Bitmap( const Size& rSizePixel, sal_uInt16 nBitCount, const BitmapPalett
}
}
+#ifdef DBG_UTIL
+
+namespace
+{
+void savePNG(const OUString& sWhere, const Bitmap& rBmp)
+{
+ SvFileStream aStream(sWhere, StreamMode::WRITE | StreamMode::TRUNC);
+ GraphicFilter& rFilter = GraphicFilter::GetGraphicFilter();
+ rFilter.compressAsPNG(rBmp, aStream);
+}
+}
+
+#endif
+
Bitmap::~Bitmap()
{
+#ifdef DBG_UTIL
+ // VCL_DUMP_BMP_PATH should be like C:/bmpDump.png or ~/bmpDump.png
+ static const OUString sDumpPath(OUString::createFromAscii(std::getenv("VCL_DUMP_BMP_PATH")));
+ static volatile bool save(false);
+ if (!sDumpPath.isEmpty() && save)
+ {
+ save = false;
+ savePNG(sDumpPath, *this);
+ }
+#endif
}
const BitmapPalette& Bitmap::GetGreyPalette( int nEntries )
More information about the Libreoffice-commits
mailing list