diff options
author | Matt K <mattkse@gmail.com> | 2021-04-21 17:34:16 -0500 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-04-22 22:20:55 +0200 |
commit | 1c1226709c6be39c5462f5e6e1262ca630b30b34 (patch) | |
tree | 14dc0f683da5bc6c8e08ea7db516da174960679f /bin/gla11y | |
parent | 04bd21d483c33c5011e31ac12d02c9e00dc410ce (diff) |
tdf#106282 Change Windows File Dialog to run on the main thread
Windows crashes when an IFileDialog object is used on a non-main
thread when cancelling a long search operation, when COM is
initialized as single-threaded apartment for that thread.
Trying to use a non-main thread with COM initialized to
multi-threaded apartment hangs the dialog UI. The only solution
that works is to run all File Dialogs on the main thread. This
has a performance penalty on the application while a File Dialog
is open or if multiple dialogs are searching and then cancelled,
but it's better than crashing. Other applications like Firefox
use only the main thread for File Dialogs, but have additional
processes to avoid the performance penalty.
Change-Id: Icf8a8179dbea19bd3d749a1c2fe8e67dbfc726c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114482
Reviewed-by: Matt K <mattkse@gmail.com>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'bin/gla11y')
0 files changed, 0 insertions, 0 deletions