Linux 7.0-rc5

22 March 21:42 - Linux Kernel - Linus Torvalds

avutil/attributes: enable av_flatten when available

22 March 15:55 - FFmpeg - Kacper Michajłow

This enables av_flatten on Clang in particular. It was disabled because at the time this attribute was not supported.

* Version 2.14.3 released. ==========================

22 March 15:07 - FreeType - Werner Lemberg

- Version 2.14.3 released. Tag sources with `VER-2-14-3'. - docs/VERSION.TXT: Add entry for version 2.14.3. - docs/CHANGES: Updated. - docs/release, docs/README, builds/macs/README: Updated. - README, src/base/ftver.rc, builds/windows/vc2010/index.html, builds/windows/visualc/index.html, builds/windows/visualce/index.html, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/index.html, docs/freetype-config.1: s/2.14.2/2.14.3/, s/2142/2143/. - include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. - builds/unix/configure.raw (version_info): Set to 26:6:20. - CMakeLists.txt (VERSION_PATCH): Set to 3. ### diff --git a/CMakeLists.txt b/CMakeLists.txt index be98e68ed..333d3d773 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,7 +164,7 @@ project(freetype C) set(VERSION_MAJOR "2") set(VERSION_MINOR "14") -set(VERSION_PATCH "2") +set(VERSION_PATCH "3") # Generate LIBRARY_VERSION and LIBRARY_SOVERSION. set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'") diff --git a/README b/README index 209d41bcd..9e85fc807 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -FreeType 2.14.2 +FreeType 2.14.3 =============== Homepage:

tdf#170961: Don't hold mutex when calling component's setPropertyValue

22 March 10:59 - LibreOffice - Mike Kaganski

A deadlock seen with the following call stacks. Main thread is trying to paint in a timer event, and is waiting for the FormComponentPropertyHandler's mutex: ntdll.dll!NtWaitForAlertByThreadId() ntdll.dll!RtlpWaitOnCriticalSection() ntdll.dll!RtlpEnterCriticalSectionContended() ntdll.dll!RtlEnterCriticalSection() sal3.dll!osl_acquireMutex(_oslMutexImpl * Mutex) Line 65 pcrlo.dll!osl::Mutex::acquire() Line 63 pcrlo.dll!osl::Guard<osl::Mutex>::Guard<osl::Mutex>(osl::Mutex & t) Line 144 • pcrlo.dll!pcr::FormComponentPropertyHandler::getPropertyValue(const rtl::OUString & _rPropertyName) Line 307 pcrlo.dll!pcr::OPropertyBrowserController::impl_getPropertyValue_throw(const rtl::OUString & _rPropertyName) Line 907 pcrlo.dll!pcr::OPropertyBrowserController::propertyChange(const com::sun::star::beans::PropertyChangeEvent & _rEvent) Line 661 cppuhelper3MSC.dll!cppu::OPropertySetHelper::fire(long * pnHandles, const com::sun::star::uno::Any * pNewValues, const com::sun::star::uno::Any * pOldValues, long nHandles, unsigned char bVetoable) Line 733 comphelper.dll!comphelper::OPropertySetAggregationHelper::propertiesChange(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyChangeEvent> & _rEvents) Line 420 cppuhelper3MSC.dll!cppu::OPropertySetHelper::firePropertiesChangeEvent(const com::sun::star::uno::Sequence<rtl::OUString> & rPropertyNames, const com::sun::star::uno::Reference<com::sun::star::beans::XPropertiesChangeListener> & rListener) Line 961 tklo.dll!ControlContainerBase::ImplUpdateResourceResolver() Line 1698 tklo.dll!ControlContainerBase::ImplStartListingForResourceEvents() Line 1675 tklo.dll!ControlContainerBase::setModel(const com::sun::star::uno::Reference<com::sun::star::awt::XControlModel> & rxModel) Line 1428 tklo.dll!UnoDialogControl::setModel(const com::sun::star::uno::Reference<com::sun::star::awt::XControlModel> & rxModel) Line 348 svxcorelo.dll!sdr::contact::`anonymous namespace'::ControlHolder::setModel(const com::sun::star::uno::Reference<com::sun::star::awt::XControlModel> & _m) Line 186 svxcorelo.dll!sdr::contact::ViewObjectContactOfUnoControl_Impl::createControlForDevice(const sdr::contact::`anonymous-namespace'::IPageViewAccess & _rPageView, const OutputDevice & _rDevice, const SdrUnoObj & _rUnoObject, const basegfx::B2DHomMatrix & _rInitialViewTransformation, const basegfx::B2DHomMatrix & _rInitialZoomNormalization, sdr::contact::`anonymous-namespace'::ControlHolder & _out_rControl) Line 1097 svxcorelo.dll!sdr::contact::ViewObjectContactOfUnoControl_Impl::impl_ensureControl_nothrow(const sdr::contact::`anonymous-namespace'::IPageViewAccess & _rPageView, const OutputDevice & _rDevice, const basegfx::B2DHomMatrix & _rInitialViewTransformation) Line 1037 svxcorelo.dll!sdr::contact::ViewObjectContactOfUnoControl_Impl::ensureControl(const basegfx::B2DHomMatrix * _pInitialViewTransformationOrNULL) Line 963 svxcorelo.dll!sdr::contact::`anonymous namespace'::LazyControlCreationPrimitive2D::create2DDecomposition(const drawinglayer::geometry::ViewInformation2D & _rViewInformation) Line 1539 drawinglayercorelo.dll!drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor & rVisitor, const drawinglayer::geometry::ViewInformation2D & rViewInformation) Line 79 svxcorelo.dll!sdr::contact::`anonymous namespace'::LazyControlCreationPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor & rVisitor, const drawinglayer::geometry::ViewInformation2D & _rViewInformation) Line 1523 drawinglayerlo.dll!drawinglayer::processor2d::BaseProcessor2D::process(const drawinglayer::primitive2d::BasePrimitive2D & rCandidate) Line 43 drawinglayerlo.dll!drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(const drawinglayer::primitive2d::BasePrimitive2D & rCandidate) Line 374 drawinglayerlo.dll!drawinglayer::processor2d::BaseProcessor2D::process(const drawinglayer::primitive2d::Primitive2DContainer & rSource) Line 67 svxcorelo.dll!sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo & rDisplayInfo) Line 303 svxcorelo.dll!sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo & rDisplayInfo) Line 128 svxcorelo.dll!SdrPageWindow::RedrawLayer(const o3tl::strong_int<short,SdrLayerIDTag> * pId, sdr::contact::ViewObjectContactRedirector * pRedirector, const basegfx::B2IRange * pPageFrame) Line 422 svxcorelo.dll!SdrPageView::DrawLayer(o3tl::strong_int<short,SdrLayerIDTag> nID, OutputDevice * pGivenTarget, sdr::contact::ViewObjectContactRedirector * pRedirector, const tools::Rectangle & rRect, const basegfx::B2IRange * pPageFrame) Line 304 svxcorelo.dll!SdrPaintView::ImpFormLayerDrawing(SdrPaintWindow & rPaintWindow, sdr::contact::ViewObjectContactRedirector * pRedirector) Line 798 svxcorelo.dll!SdrPaintView::EndCompleteRedraw(SdrPaintWindow & rPaintWindow, bool bPaintFormLayer, sdr::contact::ViewObjectContactRedirector * pRedirector) Line 653 svxcorelo.dll!SdrPaintView::EndDrawLayers(SdrPaintWindow & rPaintWindow, bool bPaintFormLayer, sdr::contact::ViewObjectContactRedirector * pRedirector) Line 726 basctllo.dll!basctl::DlgEditor::Paint(OutputDevice & rRenderContext, const tools::Rectangle & rRect) Line 547 basctllo.dll!basctl::DialogWindow::Paint(OutputDevice & rRenderContext, const tools::Rectangle & rRect) Line 124 vcllo.dll!PaintHelper::DoPaint(const vcl::Region * pRegion) Line 316 vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 618 vcllo.dll!PaintHelper::~PaintHelper() Line 553 vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624 vcllo.dll!PaintHelper::~PaintHelper() Line 553 vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624 vcllo.dll!PaintHelper::~PaintHelper() Line 553 vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624 vcllo.dll!PaintHelper::~PaintHelper() Line 553 vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624 vcllo.dll!PaintHelper::~PaintHelper() Line 553 vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624 vcllo.dll!PaintHelper::~PaintHelper() Line 553 vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624 vcllo.dll!vcl::Window::ImplCallOverlapPaint() Line 645 vcllo.dll!vcl::Window::ImplHandlePaintHdl(Timer * __formal) Line 668 vcllo.dll!vcl::Window::LinkStubImplHandlePaintHdl(void * instance, Timer * data) Line 649 vcllo.dll!Link<Timer *,void>::Call(Timer * data) Line 105 vcllo.dll!Timer::Invoke() Line 75 vcllo.dll!Scheduler::CallbackTaskScheduling() Line 615 vcllo.dll!SalTimer::CallCallback() Line 53 vclplug_winlo.dll!WinSalTimer::ImplHandleElapsedTimer() Line 169 vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 443 vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 499 vcllo.dll!InnerYield(bool i_bWait, bool i_bAllEvents) Line 389 vcllo.dll!Application::Yield() Line 502 vcllo.dll!Application::Execute() Line 365 sofficeapp.dll!desktop::Desktop::Main() Line 1681 vcllo.dll!ImplSVMain() Line 230 vcllo.dll!SVMain() Line 249 sofficeapp.dll!soffice_main() Line 122 soffice.bin!sal_main() Line 51 soffice.bin!main(int argc, char * * argv) Line 49 soffice.bin!invoke_main() Line 79 soffice.bin!__scrt_common_main_seh() Line 288 soffice.bin!__scrt_common_main() Line 331 soffice.bin!mainCRTStartup(void * __formal) Line 17 kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() while the worker thread is holding the mutex and is sending a message to the main thread synchronously: win32u.dll!NtUserMessageCall() user32.dll!SendMessageWorker() user32.dll!SendMessageInternal(struct HWND__ *,unsigned int,unsigned __int64,__int64,int) user32.dll!SendMessageW() vclplug_winlo.dll!WinSalInstance::SendWndMessage_impl(HWND__ * hWnd, unsigned int Msg, unsigned __int64 wParam, __int64 lParam) Line 689 vclplug_winlo.dll!WinSalInstance::SendComWndMessage(unsigned int Msg, unsigned __int64 wParam, __int64 lParam) Line 700 vclplug_winlo.dll!WinSalFrame::ReleaseGraphics(SalGraphics * pGraphics) Line 1052 vcllo.dll!vcl::WindowOutputDevice::ReleaseGraphics(bool bRelease) Line 905 vcllo.dll!vcl::Window::dispose() Line 487 vcllo.dll!ImplBorderWindow::dispose() Line 1614 vcllo.dll!VclReferenceBase::disposeOnce() Line 38 vcllo.dll!VclPtr<ImplBorderWindow>::disposeAndClear() Line 224 vcllo.dll!ScopedVclPtr<ImplBorderWindow>::~ScopedVclPtr<ImplBorderWindow>() Line 351 vcllo.dll!ScopedVclPtrInstance<ImplBorderWindow>::~ScopedVclPtrInstance<ImplBorderWindow>() vcllo.dll!Dialog::GetDrawWindowBorder(long & rLeftBorder, long & rTopBorder, long & rRightBorder, long & rBottomBorder) Line 1389 tklo.dll!VCLXDialog::getInfo() Line 2302 basctllo.dll!basctl::DlgEdForm::getDeviceInfo() Line 1642 basctllo.dll!basctl::DlgEdObj::TransformFormToSdrCoordinates(long nXIn, long nYIn, long nWidthIn, long nHeightIn, long & nXOut, long & nYOut, long & nWidthOut, long & nHeightOut) Line 351 basctllo.dll!basctl::DlgEditor::AdjustPageSize() Line 1182 basctllo.dll!basctl::DlgEditor::SetDialog(const com::sun::star::uno::Reference<com::sun::star::container::XNameContainer> & xUnoControlDialogModel) Line 351 basctllo.dll!basctl::DlgEditor::ResetDialog() Line 409 basctllo.dll!basctl::DlgEdObj::_propertyChange(const com::sun::star::beans::PropertyChangeEvent & evt) Line 1147 basctllo.dll!basctl::DlgEdPropListenerImpl::propertyChange(const com::sun::star::beans::PropertyChangeEvent & evt) Line 44 cppuhelper3MSC.dll!cppu::OPropertySetHelper::fire(long * pnHandles, const com::sun::star::uno::Any * pNewValues, const com::sun::star::uno::Any * pOldValues, long nHandles, unsigned char bVetoable) Line 733 comphelper.dll!comphelper::OPropertySetAggregationHelper::propertiesChange(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyChangeEvent> & _rEvents) Line 398 comphelper.dll!comphelper::OPropertySetHelper::fire(std::unique_lock<std::mutex> & rGuard, const long * pnHandles, const com::sun::star::uno::Any * pNewValues, const com::sun::star::uno::Any * pOldValues, long nHandles, bool bVetoable) Line 594 comphelper.dll!comphelper::OPropertySetHelper::impl_fireAll(std::unique_lock<std::mutex> & rGuard, long * i_handles, const com::sun::star::uno::Any * i_newValues, const com::sun::star::uno::Any * i_oldValues, long i_count) Line 487 comphelper.dll!comphelper::OPropertySetHelper::setFastPropertyValues(std::unique_lock<std::mutex> & rGuard, long nSeqLen, long * pHandles, const com::sun::star::uno::Any * pValues, long nHitCount) Line 748 tklo.dll!UnoControlModel::setFastPropertyValueImpl(std::unique_lock<std::mutex> & rGuard, long nPropId, const com::sun::star::uno::Any & rValue) Line 1247 comphelper.dll!comphelper::OPropertySetHelper::setFastPropertyValue(long nHandle, const com::sun::star::uno::Any & rValue) Line 393 comphelper.dll!comphelper::OPropertySetAggregationHelper::setFastPropertyValue(long _nHandle, const com::sun::star::uno::Any & _rValue) Line 528 cppuhelper3MSC.dll!cppu::OPropertySetHelper::setPropertyValue(const rtl::OUString & rPropertyName, const com::sun::star::uno::Any & rValue) Line 264 • pcrlo.dll!pcr::FormComponentPropertyHandler::setPropertyValue(const rtl::OUString & _rPropertyName, const com::sun::star::uno::Any & _rValue) Line 465 pcrlo.dll!pcr::OPropertyBrowserController::Commit(const rtl::OUString & rName, const com::sun::star::uno::Any & _rValue) Line 1326 pcrlo.dll!pcr::OBrowserListBox::valueChanged(const com::sun::star::uno::Reference<com::sun::star::inspection::XPropertyControl> & _rxControl) Line 637 pcrlo.dll!pcr::PropertyControlContext_Impl::impl_processEvent_throw(const comphelper::AnyEvent & _rEvent) Line 291 pcrlo.dll!pcr::PropertyControlContext_Impl::processEvent(const comphelper::AnyEvent & _rEvent) Line 272 comphelper.dll!comphelper::AsyncEventNotifierBase::execute() Line 138 comphelper.dll!comphelper::AsyncEventNotifier::execute() Line 155 salhelper3MSC.dll!salhelper::Thread::run() Line 40 salhelper3MSC.dll!threadFunc(void * param) Line 190 sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67 ucrtbased.dll!thread_start<unsigned int (__cdecl*)(void *),1>(void * const parameter) Line 97 kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() In this case, there is no reason to hold the mutex so long.

tdf#170961: unlock guard during UnoControl::createPeer

22 March 10:59 - LibreOffice - Mike Kaganski

A deadlock seen with the following call stacks.

tdf#171338 vcl: Implement SalInstance::GetToolkitName in subclasses

22 March 07:54 - LibreOffice - Michael Weghorn

commit 1bd36889c5c12604dfa6e963df4564c518607d9e Author: Michael Weghorn Date: Tue Mar 10 17:56:49 2026 +0100


avformat/mov: add m4v to allowed extensions

21 March 00:40 - FFmpeg - tark1998

M4V is a standard extension for MPEG-4 video files, commonly used by Apple devices and software.


winget config: avoid ubuntu2404.exe wrapper/add MediaPack (for Windows N)

20 March 14:14 - LibreOffice - Christian Lohmaier

…since that only is made available when installing wsl via the appstore.

aarch64: Add PAC sign/validation of the link register

20 March 11:16 - FFmpeg - Martin Storsjö

Whenever the link register is stored on the stack, sign it before storing it and validate at a symmetrical point (with the stack at the same level as when it was signed). These macros only have an effect if built with PAC enabled (e.g.

Resolves rdm#3867 - Add a donation banner to the start center

20 March 09:53 - LibreOffice - Heiko Tietze

Change-Id: I075e94798aaf83b394e713f6ef6139a985e22064 Reviewed-on:

Related tdf#38850 - Hide context-sensitive column unless experimental

20 March 08:12 - LibreOffice - Heiko Tietze

Using a zero width does not work on gtk; this set_column_visible() method was introduced in b1654a57b5db5683305f80cee7c98069496d06ea

tdf#63011 vcl: Use localized font family names as aliases

20 March 02:26 - LibreOffice - Jonathan Clark

This change updates vcl to allow users and documents to reference fonts using any localized font family name, regardless of UI language.


avformat/codecstring: add support for LCEVC streams

19 March 14:59 - FFmpeg - James Almer

Resolves tdf#171114 - Add "Select Array Formula" to the main menu

19 March 13:39 - LibreOffice - Heiko Tietze

Change-Id: I0dc7b0840f7ee45d27c56728ebd7dec13fbd81b2 Reviewed-on:

tdf#171387 sw floattable, DOCX import: avoid hang with 3 nested floating tables

19 March 11:52 - LibreOffice - Miklos Vajna

Regression from commit 5dc4ab7e3a071133b08db1c234eac6e6c253516e (tdf#157119 sw floattable: fix moving master of split fly to next page, 2023-09-22), Writer layout went into a loop on opening the bugdoc. There are multiple problems here at a Writer layout level, if the actual feature of having 3 nested floating tables would have to work across pages: first there is some oscillation around borders (+- 10 twips for the calculated fly position, which looks like the border width of the table), and then later a lot of new fly frames are created, even if SwFrame::GetNextFlyLeaf() has code to reuse existing follows.

tdf#170932 Allow building win vcl plugin alongside --enable-headless

19 March 11:45 - LibreOffice - Michael Weghorn

commit 430f603c6a40e6011ec27b9a3b3d5e328612aadb Author: Tor Lillqvist Date: Tue Feb 25 19:52:15 2025 +0200 Make --enable-headless possible also on Windows, for CODA-W [...] In the --enable-headless case, freetype, fontconfig and cairo are built.

ScriptForge (Array Map(), Filter(), Reduce()

19 March 09:12 - LibreOffice - Jean-Pierre Ledure

New methods in the 'array' service:- Map(module, method, array, Args) -> outarray Executes the method for each item in array and accumulates the results in outarray.- Filter(module, method, array, Args) -> outarray outarray contains all the items of the input array for which the method has returned True- Reduce(module, method, array, initialvalue) -> scalar At each iteration, the partial result is passed as 1st argument of the next iteration. Module = any Basic module, any Basic class instance, any ScriptForge service instance Method = given as a string may be a method or a property when module is a SF object Above mzthods allow the programmer to write simpler, shorter code, without neccessarily needing to bother about intricacies like loops, branching and error handling. Examples: Let's assume: ar = CreateScriptService("array") fs = CreateScriptService("filesystem") st = CreateScriptService("string") ui = CreateScriptService("UI") Open read-only all Calc docs stored in a folder folder = "C:\MyFolder" ar.Map(ui, "OpenDocument", fs.Files(folder, filter := "*.ods"), "", True) Minimize all active Writer docs ar.Map(ui, "Minimize", ar.Filter(st, "EndsWith", _ ui.Documents(), ".odt")) Designed for Basic user scripts only.


string: Add fallback implementation for ctz/clz

18 March 19:28 - glibc - Adhemerval Zanella

The libgcc implementations of __builtin_clzl/__builtin_ctzl may require access to additional data that is not marked as hidden, which could introduce additional GOT indirection and necessitate RELATIVE relocs.

tdf#170789 Nature Illustration add 16:9 slides

18 March 16:27 - LibreOffice - Laurent Balland

With resolution of tdf#49787, it is now possible to use different slide sizes for the different masters.

add comment to assert

18 March 14:01 - LibreOffice - Noel Grandin

for the next person who triggers it

vcl: Include SvViewDataEntry header

18 March 12:34 - LibreOffice - Michael Weghorn

Fixes this build error seen in my local --disable-pch clang build on Debian testing after

swscale/ops_chain: add SwsOpTable to SwsImplParams

18 March 09:09 - FFmpeg - Niklas Haas

Mainly so setup functions can look at table->block_size, and perhaps the table flags, as well as anything else we may add in the future.

swscale/ops_chain: add SwsContext to SwsImplParams

18 March 09:09 - FFmpeg - Niklas Haas

Mainly so that implementations can consult sws->flags, to e.g.

tdf#170789 DNA template: add 4:3 ratio master slides

18 March 08:12 - LibreOffice - Laurent Balland

With resolution of tdf#49787, it is now possible to use different slide sizes for the different masters.

tdf#170789 Beehive template: add 4:3 ratio slides

18 March 08:12 - LibreOffice - Laurent Balland

With resolution of tdf#49787, it is now possible to use different slide sizes for the different masters.

tdf#170789 Lights template: add 4:3 ratio master slide

18 March 08:11 - LibreOffice - Laurent Balland

With resolution of tdf#49787, it is now possible to use different slide sizes for the different masters.

vcl: Drop SvTabListBox::SetTabs logic to map between units

18 March 07:33 - LibreOffice - Michael Weghorn

By now, all callers call the method with MapUnit::MapPixel, which is also the destination unit.


aarch64: hevcdsp: Make returns match the call site

17 March 20:37 - FFmpeg - Martin Storsjö

For cases when returning early without updating any pixels, we previously returned to return address in the caller's scope, bypassing one function entirely.

aarch64: Add Armv9.3-A GCS (Guarded Control Stack) support

17 March 20:37 - FFmpeg - Martin Storsjö

Signal that our assembly is compliant with the GCS feature, if the GCS feature is enabled in the compiler (available since Clang 18 and GCC 15) - this is enabled by -mbranch-protection=standard with a new enough compiler.

vcl: Make SvTreeListBox::ModelNotification non-virtual

17 March 09:12 - LibreOffice - Michael Weghorn

There is no (more) override, so no need for it to be virtual.

vcl: Make SvListView::InitViewData purely virtual

17 March 09:09 - LibreOffice - Michael Weghorn

It doesn't do anything and is overriden in the SvTreeListBox subclass.

vcl: Make misc SvListView methods purely virtual

17 March 09:09 - LibreOffice - Michael Weghorn

Drop empty dummy implementations of these virtual methods that are all overriden in the SvTreeListBox subclass.