[Libreoffice] fdo#37195, [REVIEW] take two on the "where did my dictionaries go"

Caolán McNamara caolanm at redhat.com
Thu Sep 1 05:52:28 PDT 2011


So the ooo3migration thing was a red herring alright, so here's my
second stab at fdo#37195

http://cgit.freedesktop.org/libreoffice/core/commit/?id=a78a6e013b8d97891aa2b9c9a5dce64a82dc2f06

a) If CreateProcessServiceFactory is called, then common.rdb of
"Users/YOU/AppData/Roaming/LibreOffice/3/user/extensions/bundled/registry/
com.sun.star.comp.deployment.component.PackageRegistryBackend/common.rdb" is opened mmapped on windows

b) On a new start of an LibreOffice which wants to synchronize new
config over an old config, then it will want do a copy of
"install/share/prereg/bundled/registry/
com.sun.star.comp.deployment.component.PackageRegistryBackend/common.rdb"
over
"Users/YOU/AppData/Roaming/LibreOffice/3/user/extensions/bundled/registry/
com.sun.star.comp.deployment.component.PackageRegistryBackend/common.rdb"
which will fail on windows with error 1224, i.e. ERROR_USER_MAPPED_FILE

c) That aborts the copy_bundled_recursive copy, leaving an old config
pointing to the old location of dictionaries.

d) So for windows at least, CreateProcessServiceFactory shouldn't happen
before copy_bundled_recursive.

This appears to be a (wildly unexpected and impossible to predict)
side-effect of c3ccdabb where it happened to be the case in the past
that CreateProcessServiceFactory didn't get called before
synchronization under windows.

Attached is the backport for 3-4 as this code changed a little between
3-4 and master.

caolanm->Andras: could you arrange to have the attached tested ?

C.


More information about the LibreOffice mailing list