office-gobmx/comphelper
Stephan Bergmann bcb1969f96 rhbz#1667364 Open doc as R/O for which open(...,O_RDWR) returns EOPNOTSUPP
Map that EOPNOTSUPP to osl_File_E_NOSYS (and intercept it in
StillReadWriteInteraction, as used by MediaDescriptor::impl_openStreamWithURL in
unotools/source/misc/mediadescriptor.cxx, which will retry opening it read-only
then), instead of to osl_File_E_invalidError (which lead to the "General
input/output error" box).

Instead of "silently" opening the doc as read-only, this still pops up a box
claiming that the doc is locked by somebody else, asking whether to open it
read-only or to open a copy.  That's probably because of the

  rDescriptor.erase( utl::MediaDescriptor::PROP_READONLY() );

in TypeDetection::impl_openStream (filter/source/config/cache/typedetection.cxx)
where the comment already hints at the confusion among the different read-only
and locking concepts.  Changing that looks like it would easily cause
regressions, so is left for a follow-up commit.  (And ultimately LO wouldn't
need to treat the doc as read-only at all; it would just need to not attempt to
open it O_RDWR upfront, and save it via copy+rename, like other apps appear to
commonly do.)

Change-Id: I56e18f1864084ba222acaf0e38a604082edaf4c6
Reviewed-on: https://gerrit.libreoffice.org/66805
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-23 21:06:31 +01:00
..
inc/pch
qa
source rhbz#1667364 Open doc as R/O for which open(...,O_RDWR) returns EOPNOTSUPP 2019-01-23 21:06:31 +01:00
util
CppunitTest_comphelper_ifcontainer.mk
CppunitTest_comphelper_syntaxhighlight_test.mk
CppunitTest_comphelper_test.mk
CppunitTest_comphelper_threadpool_test.mk
CppunitTest_comphelper_variadictemplates_test.mk
JunitTest_comphelper_complex.mk
Library_comphelper.mk
Makefile
Module_comphelper.mk
README
StaticLibrary_windows_process.mk

Helper functionality for implementing UNO components

...anything not generic/mature enough to end up in URE's stable interface at
cppuhelper etc.