RFR: 8270269: Desktop.browse method fails if earlier CoInitialize call as COINIT_MULTITHREADED [v2]

Alexey Ivanov aivanov at openjdk.org
Fri Dec 8 16:32:16 UTC 2023


On Thu, 7 Dec 2023 22:57:52 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:

>> The fix for a regression caused by the https://bugs.openjdk.org/browse/JDK-6508941. it does not take into account RPC_E_CHANGED_MODE when COM was already initialized using COINIT_MULTITHREADED mode.
>> 
>> @aivanov-jdk please take a look.
>
> Sergey Bylokhov has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - 8270269: Desktop.browse method fails if earlier CoInitialize call as COINIT_MULTITHREADED
>  - Revert "6508941: java.awt.Desktop.open causes VM to crash with video files sporadically"
>    
>    This reverts commit 85269470
>  - Revert "8270269: Desktop.browse method fails if earlier CoInitialize call as COINIT_MULTITHREADED"
>    
>    This reverts commit 4908d9c220950683d3a5010d12ab756eff6b6fa7.

While we're discussing `CoInitialize`, shall we update `initializeCom`

https://github.com/openjdk/jdk/blob/b893a2b2f70346f9d204d1050a0ad32fd98fdd56/src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp#L297-L300

to use `::CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)` as it was done in `awt_Desktop.cpp`?

https://github.com/openjdk/jdk/blob/0fd09d383b9921f26d2d609ab330630a4520325a/src/java.desktop/windows/native/libawt/windows/awt_Desktop.cpp#L88-L89

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17010#issuecomment-1847483848


More information about the client-libs-dev mailing list