office-gobmx/vcl/osx
Stephan Bergmann f5af2104fc Fix and clean up SalAbort implementations on macOS and Windows
Since "forever", SalAbort has been declared as non-exported in
vcl/inc/salinst.hxx and (only) called from Application::Abort
(vcl/source/app/svapp.cxx) in Library_vcl.  Its various implementations for
different platforms have always been scattered across Library_vcl.

For Windows, SalAbort was originally implemented in vcl/win/app/salinst.cxx,
until 1698debed2 "Implement Windows VCL backend as
plugin" introduced an incompatible implementation in vcl/win/app/salplug.cxx
(which was added to Library_vcl) and moved the original implementation in
vcl/win/app/salinst.cxx from Library_vcl to Library_vclplug_win, where it thus
became dead code (and where it now gets removed).

For macOS, SalAbort was originally implemented in vcl/osx/salinst.cxx, until
3af4e1a082 "Implement MacOSX VCL backend as
plugin" introduced a different implementation in vcl/osx/salplug.cxx (which was
added to Library_vcl) and moved the original implementation in
vcl/osx/salinst.cxx from Library_vcl to Library_vclplug_win, where it thus
became dead code (and where it now gets removed).

(In 0f3be2e19f "Unify sal plugin loaders", the---
identical---new implementations in vcl/osx/salinst.cxx and
vcl/win/app/salinst.cxx where then consolidated with other---also identical---
implementations in vcl/source/app/salplug.cxx.)

For macOS, the original, now removed implementation in vcl/osx/salinst.cxx and
the consolidated implementation in vcl/source/app/salplug.cxx only differed in
an added

  CrashReporter::addKeyValue("AbortMessage", rErrorText, CrashReporter::Write);

which is presumably harmless to add.

But for Windows, the original, now removed implementation in
vcl/win/app/salinst.cxx differed substantially from the consolidated
implementation in vcl/source/app/salplug.cxx, which is updated here to reflect
those differences.  The one thing that cannot easily be updated, though, is the

  //TODO: ImplFreeSalGDI();

call, as ImplFreeSalGDI is defined in Library_vclplug_win.  I'll thus leave
fixing that TODO for another commit (if calling ImplFreeSalGDI from SalAbort is
even necessary, given that it ends in FatalAppExitW anyway)---my gut feeling is
that the whole 1698debed2 "Implement Windows VCL
backend as plugin" was somewhat misguided.

Change-Id: I641a3d7b1bc27ae14c38eb1ec0838bc04e4290d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107666
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-14 15:59:06 +01:00
..
res/MainMenu.nib
a11yactionwrapper.h
a11yactionwrapper.mm
a11ycomponentwrapper.h
a11ycomponentwrapper.mm
a11yfactory.mm
a11yfocuslistener.cxx
a11yfocuslistener.hxx
a11yfocustracker.cxx
a11ylistener.cxx
a11yrolehelper.h
a11yrolehelper.mm
a11yselectionwrapper.h
a11yselectionwrapper.mm
a11ytablewrapper.h
a11ytablewrapper.mm
a11ytextattributeswrapper.h
a11ytextattributeswrapper.mm
a11ytextwrapper.h
a11ytextwrapper.mm
a11yutil.h
a11yutil.mm
a11yvaluewrapper.h
a11yvaluewrapper.mm
a11ywrapper.mm
a11ywrapperbutton.h
a11ywrapperbutton.mm
a11ywrappercheckbox.h
a11ywrappercheckbox.mm
a11ywrappercombobox.h
a11ywrappercombobox.mm
a11ywrappergroup.h
a11ywrappergroup.mm
a11ywrapperlist.h
a11ywrapperlist.mm
a11ywrapperradiobutton.h
a11ywrapperradiobutton.mm
a11ywrapperradiogroup.h
a11ywrapperradiogroup.mm
a11ywrapperrow.h
a11ywrapperrow.mm
a11ywrapperscrollarea.h
a11ywrapperscrollarea.mm
a11ywrapperscrollbar.h
a11ywrapperscrollbar.mm
a11ywrappersplitter.h
a11ywrappersplitter.mm
a11ywrapperstatictext.h
a11ywrapperstatictext.mm
a11ywrappertabgroup.h
a11ywrappertabgroup.mm
a11ywrappertextarea.h
a11ywrappertextarea.mm
a11ywrappertoolbar.h
a11ywrappertoolbar.mm
clipboard.cxx
clipboard.hxx
cuidraw.hxx
DataFlavorMapping.cxx loplugin:stringviewparam (macOS) 2020-12-13 22:25:20 +01:00
DataFlavorMapping.hxx
documentfocuslistener.cxx
documentfocuslistener.hxx
DragActionConversion.cxx
DragActionConversion.hxx
DragSource.cxx
DragSource.hxx
DragSourceContext.cxx
DragSourceContext.hxx
DropTarget.cxx
DropTarget.hxx
HtmlFmtFlt.cxx
HtmlFmtFlt.hxx
OSXTransferable.cxx
OSXTransferable.hxx
PictToBmpFlt.cxx
PictToBmpFlt.hxx
printaccessoryview.mm loplugin:stringviewparam (macOS) 2020-12-07 20:51:01 +01:00
printview.mm
README.a11y
saldata.cxx
salframe.cxx
salframeview.mm
salinst.cxx Fix and clean up SalAbort implementations on macOS and Windows 2020-12-14 15:59:06 +01:00
salmenu.cxx
salnativewidgets.cxx
salnsmenu.mm
salnstimer.mm
salobj.cxx
salprn.cxx Add 'SinglePrintJobs' to PrintOptions 2020-11-26 08:51:57 +01:00
salsys.cxx
saltimer.cxx
service_entry.cxx
vclnsapp.mm

Naming scheme:

a11yXYZhelper:           Helper class providing static methods

a11yXYZwrapper:          Wrapper around one (or two) UNO-interfaces

a11ywrapperXYZ:          Subclass of a11ywrapper for a specific AXRole