[Libreoffice-commits] core.git: chart2/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Dec 3 02:46:47 UTC 2018


 chart2/source/model/main/ChartModel_Persistence.cxx |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit a0ac944bb3faf5bf11966215fbdeb247c8f405d7
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Wed Nov 21 10:32:28 2018 +0100
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Mon Dec 3 03:46:26 2018 +0100

    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 at collabora.com>

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 );


More information about the Libreoffice-commits mailing list