summaryrefslogtreecommitdiff
path: root/chart2/source/model/main
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-11-21 10:32:28 +0100
committerMike Kaganski <mike.kaganski@collabora.com>2018-12-03 03:46:26 +0100
commita0ac944bb3faf5bf11966215fbdeb247c8f405d7 (patch)
tree52d2723c5be3baf6dc84c72b293e0109b0202a5d /chart2/source/model/main
parent06b1e244ff9502664fe79dc27346e4fd9968afbc (diff)
Fix JunitTest_chart2_unoapi failing DBG_TESTSOLARMUTEX on Windows
The failing call stack: ucrtbased.dll!issue_debug_notification(const wchar_t * const message) Line 28 at minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp(28) ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154 at minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp(154) ucrtbased.dll!abort() Line 61 at minkernel\crts\ucrt\src\appcrt\startup\abort.cpp(61) ucrtbased.dll!common_assert_to_stderr<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number) Line 187 at minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(187) ucrtbased.dll!common_assert<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number, void * const return_address) Line 420 at minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(420) ucrtbased.dll!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 444 at minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(444) vcllo.dll!ImplDbgTestSolarMutex() Line 46 at c:\lo\src\core\vcl\source\app\dbggui.cxx(46) tllo.dll!DbgTestSolarMutex() Line 78 at c:\lo\src\core\tools\source\debug\debug.cxx(78) vcllo.dll!OpenGLSalBitmap::Create(const Size & rSize, unsigned short nBits, const BitmapPalette & rBitmapPalette) Line 164 at c:\lo\src\core\vcl\opengl\salbmp.cxx(164) vcllo.dll!Bitmap::Bitmap(const Size & rSizePixel, unsigned short nBitCount, const BitmapPalette * pPal) Line 108 at c:\lo\src\core\vcl\source\bitmap\bitmap.cxx(108) vcllo.dll!o3tl::make_unique<Bitmap,Size &,unsigned short &>(Size & <args_0>, unsigned short & <args_1>) Line 29 at c:\lo\src\core\include\o3tl\make_unique.hxx(29) vcllo.dll!vcl::PNGReaderImpl::ImplReadHeader(const Size & rPreviewSizeHint) Line 665 at c:\lo\src\core\vcl\source\gdi\pngread.cxx(665) vcllo.dll!vcl::PNGReaderImpl::GetBitmapEx(const Size & rPreviewSizeHint) Line 342 at c:\lo\src\core\vcl\source\gdi\pngread.cxx(342) vcllo.dll!vcl::PNGReader::Read(const Size & i_rPreviewSizeHint) Line 1732 at c:\lo\src\core\vcl\source\gdi\pngread.cxx(1732) vcllo.dll!GraphicFilter::ImportGraphic(Graphic & rGraphic, const rtl::OUString & rPath, SvStream & rIStream, unsigned short nFormat, unsigned short * pDeterminedFormat, GraphicFilterImportFlags nImportFlags, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> * pFilterData, const WmfExternal * pExtHeader) Line 1813 at c:\lo\src\core\vcl\source\filter\graphicfilter.cxx(1813) vcllo.dll!GraphicFilter::ImportGraphic(Graphic & rGraphic, const rtl::OUString & rPath, SvStream & rIStream, unsigned short nFormat, unsigned short * pDeterminedFormat, GraphicFilterImportFlags nImportFlags, const WmfExternal * pExtHeader) Line 1281 at c:\lo\src\core\vcl\source\filter\graphicfilter.cxx(1281) vcllo.dll!GraphicFilter::FilterCallback(ConvertData & rData) Line 2509 at c:\lo\src\core\vcl\source\filter\graphicfilter.cxx(2509) vcllo.dll!GraphicFilter::LinkStubFilterCallback(void * instance, ConvertData & data) Line 2481 at c:\lo\src\core\vcl\source\filter\graphicfilter.cxx(2481) sofficeapp.dll!Link<ConvertData &,bool>::Call(ConvertData & data) Line 84 at c:\lo\src\core\include\tools\link.hxx(84) sofficeapp.dll!desktop::Desktop::ImplInitFilterHdl(desktop::Desktop * __formal, ConvertData & rData) Line 1752 at c:\lo\src\core\desktop\source\app\app.cxx(1752) sofficeapp.dll!desktop::Desktop::LinkStubImplInitFilterHdl(void * instance, ConvertData & data) Line 1749 at c:\lo\src\core\desktop\source\app\app.cxx(1749) vcllo.dll!Link<ConvertData &,bool>::Call(ConvertData & data) Line 84 at c:\lo\src\core\include\tools\link.hxx(84) vcllo.dll!GraphicConverter::Import(SvStream & rIStm, Graphic & rGraphic, ConvertDataFormat nFormat) Line 44 at c:\lo\src\core\vcl\source\gdi\cvtgrf.cxx(44) chartcorelo.dll!chart::ChartModel::impl_loadGraphics(const com::sun::star::uno::Reference<com::sun::star::embed::XStorage> & xStorage) Line 621 at c:\lo\src\core\chart2\source\model\main\chartmodel_persistence.cxx(621) chartcorelo.dll!chart::ChartModel::impl_load(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & rMediaDescriptor, const com::sun::star::uno::Reference<com::sun::star::embed::XStorage> & xStorage) Line 576 at c:\lo\src\core\chart2\source\model\main\chartmodel_persistence.cxx(576) chartcorelo.dll!chart::ChartModel::load(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & rMediaDescriptor) Line 543 at c:\lo\src\core\chart2\source\model\main\chartmodel_persistence.cxx(543) chartcontrollerlo.dll!chart::ChartFrameLoader::load(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & rMediaDescriptor, const com::sun::star::uno::Reference<com::sun::star::frame::XFrame> & xFrame) Line 170 at c:\lo\src\core\chart2\source\controller\main\chartframeloader.cxx(170) fwklo.dll!framework::LoadEnv::impl_loadContent() Line 1149 at c:\lo\src\core\framework\source\loadenv\loadenv.cxx(1149) fwklo.dll!framework::LoadEnv::startLoading() Line 383 at c:\lo\src\core\framework\source\loadenv\loadenv.cxx(383) fwklo.dll!framework::LoadEnv::loadComponentFromURL(const com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> & xLoader, const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext, const rtl::OUString & sURL, const rtl::OUString & sTarget, long nSearchFlags, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArgs) Line 170 at c:\lo\src\core\framework\source\loadenv\loadenv.cxx(170) fwklo.dll!framework::Desktop::loadComponentFromURL(const rtl::OUString & sURL, const rtl::OUString & sTargetFrameName, long nSearchFlags, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArguments) Line 619 at c:\lo\src\core\framework\source\services\desktop.cxx(619) mscx_uno.dll!`anonymous namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, bridges::cpp_uno::shared::VtableSlot aVtableSlot, _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, _uno_Any * * ppUnoExc) Line 214 at c:\lo\src\core\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(214) mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any * * ppException) Line 429 at c:\lo\src\core\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(429) binaryurplo.dll!binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny * returnValue, std::vector<binaryurp::BinaryAny,std::allocator<binaryurp::BinaryAny> > * outArguments) Line 239 at c:\lo\src\core\binaryurp\source\incomingrequest.cxx(239) binaryurplo.dll!binaryurp::IncomingRequest::execute() Line 79 at c:\lo\src\core\binaryurp\source\incomingrequest.cxx(79) binaryurplo.dll!request(void * pThreadSpecificData) Line 83 at c:\lo\src\core\binaryurp\source\reader.cxx(83) cppu3.dll!cppu_threadpool::JobQueue::enter(__int64 nDisposeId, bool bReturnWhenNoJob) Line 108 at c:\lo\src\core\cppu\source\threadpool\jobqueue.cxx(108) cppu3.dll!cppu_threadpool::ORequestThread::run() Line 170 at c:\lo\src\core\cppu\source\threadpool\thread.cxx(170) cppu3.dll!threadFunc(void * param) Line 186 at c:\lo\src\core\include\osl\thread.hxx(186) sal3.dll!oslWorkerWrapperFunction(void * pData) Line 58 at c:\lo\src\core\sal\osl\w32\thread.cxx(58) ucrtbased.dll!invoke_thread_procedure(unsigned int(*)(void *) procedure, void * const context) Line 92 at minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(92) ucrtbased.dll!thread_start<unsigned int (__cdecl*)(void * __ptr64)>(void * const parameter) Line 115 at minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(115) kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() Change-Id: Ia22ebb2361192c30549b0f01ac0b709295e1dbdc Reviewed-on: https://gerrit.libreoffice.org/63700 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'chart2/source/model/main')
-rw-r--r--chart2/source/model/main/ChartModel_Persistence.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/chart2/source/model/main/ChartModel_Persistence.cxx b/chart2/source/model/main/ChartModel_Persistence.cxx
index 1d0e0f014ba9..fab7b97fb7bf 100644
--- a/chart2/source/model/main/ChartModel_Persistence.cxx
+++ b/chart2/source/model/main/ChartModel_Persistence.cxx
@@ -54,6 +54,7 @@
#include <comphelper/processfactory.hxx>
#include <comphelper/storagehelper.hxx>
#include <vcl/settings.hxx>
+#include <vcl/svapp.hxx>
#include <tools/diagnose_ex.h>
#include <sal/log.hxx>
@@ -616,8 +617,8 @@ void ChartModel::impl_loadGraphics(
if (apIStm)
{
+ SolarMutexGuard aGuard;
Graphic aGraphic;
-
if (!GraphicConverter::Import(*apIStm, aGraphic))
{
m_aGraphicObjectVector.emplace_back(aGraphic );