Bug 98128

Summary: Missing support for UNO component constructor in non-standard environment
Product: LibreOffice Reporter: Stephan Bergmann <sberg.fun>
Component: LibreOfficeAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: michael.stahl
Priority: medium    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Crash report or crash signature: Regression By:
Attachments: first step towards a fix

Description Stephan Bergmann 2016-02-24 08:35:09 UTC
Created attachment 122936 [details]
first step towards a fix

The code to handle the constructor feature in cppuhelper/source/servicemanager.cxx still has

> if (curEnv.get() != env.get()) {
>     std::abort();//TODO
> }

for the case where a non-standard environment is requested (as is done by the implementations in connectivity/source/drivers/ado/ado.component and connectivity/source/drivers/jdbc/jdbc.component, environment="@CPPU_ENV@:affine", but which both don't use the constructor feature yet).

A first step towards a fix is the attached SERVICEMANAGER-MAPPING-TODO.patch.
Comment 1 QA Administrators 2017-03-06 15:32:45 UTC Comment hidden (obsolete)
Comment 2 Stephan Bergmann 2017-03-06 15:44:12 UTC
meanwhile fixed with <https://cgit.freedesktop.org/libreoffice/core/commit/?id=6ef033669762a0c7ce70c111458437d5e727a4ae> "cppuhelper: implement environment mapping for constructor functions"