LibreOffice
LibreOffice is a popular fork of the open-source OpenOffice office suite.
www.libreoffice.org
Other Activity This Week
- svg filter: support for emphasis spin animation
Marco Cecchetti: Partial support for transform animations. - tdf#149626 use recursive_mutex to fix hang in macro callback during dnd
Caolán McNamara: See frame #5 and frame #45 where - external/liborcus: Fix heap-buffer-overflow
Stephan Bergmann: ...as seen during CppunitTest_vcl_pdfexport:
> ==573913==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62b0001dba0e at pc 0x560576627186 bp 0x7ffeab9fa730 sp 0x7ffeab9f9ef0 > READ of size 26624 at 0x62b0001dba0e thread T0 > #0 in StrtolFixAndCheck(void*, char const*, char**, char*, int) at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:3629:3 > #1 in strtol at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:485:3 > #2 in orcus::sax_token_handler_wrapper_base::attribute(std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>) at workdir/UnpackedTarball/liborcus/src/parser/sax_token_parser.cpp:344:22 > #3 in orcus::sax_ns_parser<orcus::sax_token_parser<orcus::xml_stream_handler>::handler_wrapper>::handler_wrapper::attribute(orcus::sax::parser_attribute const&) at workdir/UnpackedTarball/liborcus/src/liborcus/../../include/orcus/sax_ns_parser.hpp:212:27 > #4 in orcus::sax_parser<orcus::sax_ns_parser<orcus::sax_token_parser<orcus::xml_stream_handler>::handler_wrapper>::handler_wrapper, orcus::sax_parser_default_config>::attribute() at workdir/UnpackedTarball/liborcus/src/liborcus/../../include/orcus/sax_parser.hpp:570:15 > #5 in orcus::sax_parser<orcus::sax_ns_parser<orcus::sax_token_parser<orcus::xml_stream_handler>::handler_wrapper>::handler_wrapper, orcus::sax_parser_default_config>::declaration(char const*) at workdir/UnpackedTarball/liborcus/src/liborcus/../../include/orcus/sax_parser.hpp:389:9 > #6 in orcus::sax_parser<orcus::sax_ns_parser<orcus::sax_token_parser<orcus::xml_stream_handler>::handler_wrapper>::handler_wrapper, orcus::sax_parser_default_config>::element() at workdir/UnpackedTarball/liborcus/src/liborcus/../../include/orcus/sax_parser.hpp:242:13 > #7 in orcus::sax_parser<orcus::sax_ns_parser<orcus::sax_token_parser<orcus::xml_stream_handler>::handler_wrapper>::handler_wrapper, orcus::sax_parser_default_config>::body() at workdir/UnpackedTarball/liborcus/src/liborcus/../../include/orcus/sax_parser.hpp:214:13 > #8 in orcus::sax_parser<orcus::sax_ns_parser<orcus::sax_token_parser<orcus::xml_stream_handler>::handler_wrapper>::handler_wrapper, orcus::sax_parser_default_config>::parse() at workdir/UnpackedTarball/liborcus/src/liborcus/../../include/orcus/sax_parser.hpp:182:5 > #9 in orcus::sax_ns_parser<orcus::sax_token_parser<orcus::xml_stream_handler>::handler_wrapper>::parse() at workdir/UnpackedTarball/liborcus/src/liborcus/../../include/orcus/sax_ns_parser.hpp:277:14 > #10 in orcus::sax_token_parser<orcus::xml_stream_handler>::parse() at workdir/UnpackedTarball/liborcus/src/liborcus/../../include/orcus/sax_token_parser.hpp:215:14 > #11 in orcus::xml_stream_parser::parse() at workdir/UnpackedTarball/liborcus/src/liborcus/xml_stream_parser.cpp:68:9 > #12 in orcus::orcus_xls_xml::detect(unsigned char const*, unsigned long) at workdir/UnpackedTarball/liborcus/src/liborcus/orcus_xls_xml.cpp:94:16 > #13 in orcus::detect(unsigned char const*, unsigned long) at workdir/UnpackedTarball/liborcus/src/liborcus/format_detection.cpp:68:9 > #14 in (anonymous namespace)::OrcusFormatDetect::detect(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&) at sc/source/filter/orcus/filterdetect.cxx:83:31 > 0x62b0001dba0e is located 0 bytes to the right of 26638-byte region [0x62b0001d5200,0x62b0001dba0e) > allocated by thread T0 here: > #0 in operator new[](unsigned long) at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:98:3 > #1 in SvMemoryStream::AllocateMemory(unsigned long) at tools/source/stream/stream.cxx:1698:12 > #2 in SvMemoryStream::SvMemoryStream(unsigned long, unsigned long) at tools/source/stream/stream.cxx:1544:9 > #3 in (anonymous namespace)::OrcusFormatDetect::detect(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&) at sc/source/filter/orcus/filterdetect.cxx:71:20
This started to occur now after a95c585433246813096e8890b7ed6ef4fe30c621 "Pump XInputStream into an SvMemoryStream rather than an OStringBuffer" no longer guarantees that the memory range passed into
orcus::detect(const unsigned char* buffer, size_t length)
is followed by a null byte at buffer[length]. - tdf#149710 sw_redlinenum: update numbering at deletion
László Németh: in Show Changes mode. - tdf#43100 tdf#104683 tdf#120715 sw: cursor on spaces over margin
Attila Szűcs: Allow cursor movement on spaces over margin (or clicking it it to position the cursor), like MSO does instead of stopping cursor before the stripped (from the typesetting) spaces. - almost nobody is using the oox::AttributeList::get methods properly
Noel Grandin: Most of the call sites just ignore the fact that we are returning an optional value here. - tdf#115523 sw_redlinenum: show correct, also original numbering
László Németh: in Show Changes mode, according to the name "Show Changes" and according to the interoperability requirements.
Instead of the fake numbering which counted the deleted list items in Show Changes mode, e.g.:
"3. - tdf#128150 Properly show/hide widgets when "use slide background" is selected
Samuel Mehrbrodt: And cleanup the logic a bit - external/pdfium: Adapt bundled abseil-cpp to Clang 15 trunk change
Stephan Bergmann: ...< - tdf#134759 sw: do CopyToModify() for both start and end node
Michael Stahl - tdf#69750: sc: Add UItest
Xisco Fauli: Change-Id: I4039da64a069af74046f95abacd3476122d9a542 Reviewed-on: - Add support for exporting SVGZ in Writer
offtkp: When exporting a graphic through Writer, graphicfilters ExportGraphic is called, which didn't have SVGZ exporting functionality before this commit. - tdf#100522 Add support for exporting SVGZ in Draw
offtkp: Detect draw_svgz_Export and compress the SVG before exporting if needed - android and bin/update: make pythonic
Lukas: Change-Id: Iaf791bfa8d9822843b26f2a2f2c3d94c55a60a0b Reviewed-on: - svp: don't directly yield in main thread
Jan-Marek Glogowski: AKA svp: always release SolarMutex on yield, v2
Implement the TODO when yielding a non-main thread: "use a SolarMutexReleaser here and drop the m_bNoYieldLock usage"
This whole concept of "deferred yield" is prone to spurious "deadlocks", if DoYield spawns a nested event loop. - Refactor PopupMenu::ImplExecute for async support
Jan-Marek Glogowski: Splits ImplExecute into PrepareRun, Run and FinishRun. - VCL expect correct frame size for native menubars
Jan-Marek Glogowski - tdf#69750 Preserve last used Paste Special options for next session
Siddhant Chaudhary: This feature stores the Paste Special options for Calc in the LO registry for use across sessions, so that users don't have to set options everytime they start a new Calc session. - OUStringBuffer: add append via operator<<(T&&)
Jan-Marek Glogowski - tdf#142293, tdf#141495: sc_subsequent_filters_test2: Add unittest
Xisco Fauli: Change-Id: Icca8f402a960ac9de9a4f4d2c9f8d00f5abd0d37 Reviewed-on: - tdf#126109 calc slow when replacing string to number
Noel Grandin: Normally, the answer to repeated erase(begin()) is to walk backwards through the array. - Breeze, KJ, Sifr, Sukapura: tdf#149646 Add More Button icons
Rizal Muttaqin: Change-Id: I89692967d9721cac4ec5bf51c1aec1e7caa92962 Reviewed-on:
LibreOffice Release Tags
- bump product version to 7.5.0.0.alpha0+
Christian Lohmaier - bump product version to 7.4.0.0.alpha1+
Christian Lohmaier - Warn if Visual Studio 2019 version is < 16.10
Hossein: During the compilation with Visual Studio 2019 v16.5, the dragonbox was failing the build, but it was OK when ugprading to the latest
version, 16.11.
It should be noted that according to the list of predfined macros in
Visual Studio, v16.10 and v16.11 use the same value for _MSC_VER, which is 1929. - Fix the error message for GNU Make version
xuenhua: Change-Id: I65b2c02badf619da284a3d5191270e412ae2834e Reviewed-on: - Adapt to latest VS 2022 MSM versions
Stephan Bergmann: ...as present at least with VS 2022 17.1.3 - Fix a CLANG_VERSION check
Stephan Bergmann: These functions became available with < - Always set MAC_OS_X_VERSION_MAX_ALLOWED = MAC_OS_X_VERSION_MIN_REQUIRED
Stephan Bergmann: ...and drop the --with-macosx-version-max-allowed configure switch.
Looking at the documentation in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/AvailabilityMacros.h, a value of MAC_OS_X_VERSION_MAX_ALLOWED larger than MAC_OS_X_VERSION_MIN_REQUIRED would allow functions that only started to become available in that range to be resolved as null at runtime, so would need our code to be prepared to get null function pointers in such cases, but which our code is presumably not prepared for to begin with, anyway.
Change-Id: I1423ee7435aa2b36eb91c62ff91b1fc414995a4f Reviewed-on: - Use correct ld syntax for old clang versions
Jan-Marek Glogowski - tdf#140286 fix INFO("OSVERSION") for Linux: return kernel version
scito: If LibreOffice Calc is running on Linux, the Linux version as shown in about dialog is returned, e.g. - bump product version to 7.4.0.0.alpha0+
Christian Lohmaier
Most Popular In The Past Month
- bin: Add script to get attachments from OO forums
Xisco Fauli: Testing it locally, I could download 52.000 documents Reuse mimetypes dictionary from get-bugzilla-attachments-by-mimetype by putting it into an external file - Use IconView in SmElementsControl
Mike Kaganski: Allows to send individual images over the wire in lok case, instead of sending full canvas at every scroll operation. - sw content controls, date: add DOCX import
Miklos Vajna: - map <w:date> <w:dateFormat w:val="..."/> <w:lid w:val="..."/> </w:date> to the Date, DateFormat and DateLanguage UNO properties of content controls instead of fieldmarks, which model content controls poorly - sw content controls, date: add LOK API
Miklos Vajna: - send a LOK_CALLBACK_CONTENT_CONTROL with date=true when entering a date content control - add LIBTIFF to cross-compiling targets
Caolán McNamara: with an eye to win_arm64 cross build failure - sw layout: allow negative page border distances
Miklos Vajna: Writer follows the CSS box model when it comes to page borders: there can be a positive distance between the edge of the page and the border, and again a positive distance between the border and the body frame.
This ensures that the page border never intersect with the body frame, which is usually what users expect. - LanguageTool Grammar Checker implementation
Mert Tumer - add ClearItem to the SfxItemSet iterators
Noel Grandin: to speed up operations when iterating over SfxItemSets - Fix failing assert on shutdown with NVDA active
Mike Kaganski: The stack trace at the moment of calling implLookupClient with nClient == -1 was:
> ucrtbased.dll!abort() Line 61 C++ > ucrtbased.dll!common_assert_to_stderr<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number) Line 187 C++ > ucrtbased.dll!common_assert<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number, void * const return_address) Line 420 C++ > ucrtbased.dll!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 444 C++ > comphelper.dll!`anonymous namespace'::implLookupClient(const unsigned long nClient, std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<unsigned long const ,comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> *>>>> & rPos) Line 139 C++ > comphelper.dll!comphelper::AccessibleEventNotifier::addEvent(const unsigned long _nClient, const com::sun::star::accessibility::AccessibleEventObject & _rEvent) Line 249 C++ > svxlo.dll!accessibility::AccessibleTextHelper_Impl::FireEvent(const com::sun::star::accessibility::AccessibleEventObject & rEvent) Line 1416 C++ > svxlo.dll!accessibility::AccessibleTextHelper_Impl::FireEvent(const short nEventId, const com::sun::star::uno::Any & rNewValue, const com::sun::star::uno::Any & rOldValue) Line 1408 C++ > svxlo.dll!accessibility::AccessibleTextHelper_Impl::ShutdownEditSource() Line 700 C++ > svxlo.dll!accessibility::AccessibleTextHelper_Impl::SetEditSource(std::unique_ptr<SvxEditSource,std::default_delete<SvxEditSource>> && pEditSource) Line 717 C++ > svxlo.dll!accessibility::AccessibleTextHelper::SetEditSource(std::unique_ptr<SvxEditSource,std::default_delete<SvxEditSource>> && pEditSource) Line 1548 C++ > svxlo.dll!WeldEditAccessible::ClearWin() Line 552 C++ > svxlo.dll!WeldEditView::~WeldEditView() Line 864 C++ > smlo.dll!SmEditTextWindow::~SmEditTextWindow() Line 85 C++ > smlo.dll!SmEditTextWindow::`scalar deleting destructor'(unsigned int) C++ > smlo.dll!std::default_delete<SmEditTextWindow>::operator()(SmEditTextWindow * _Ptr) Line 3129 C++ > smlo.dll!std::unique_ptr<SmEditTextWindow,std::default_delete<SmEditTextWindow>>::reset(SmEditTextWindow * _Ptr) Line 3276 C++ > smlo.dll!SmEditWindow::DeleteEditView() Line 853 C++ > smlo.dll!SmEditWindow::~SmEditWindow() Line 139 C++ > smlo.dll!SmEditWindow::`scalar deleting destructor'(unsigned int) C++ > smlo.dll!o3tl::default_delete<SmEditWindow>::operator()(SmEditWindow * p) Line 46 C++ > smlo.dll!std::unique_ptr<SmEditWindow,o3tl::default_delete<SmEditWindow>>::reset(SmEditWindow * _Ptr) Line 3276 C++ > smlo.dll!SmCmdBoxWindow::dispose() Line 931 C++ > vcllo.dll!VclReferenceBase::disposeOnce() Line 39 C++ > sfxlo.dll!VclPtr<vcl::Window>::disposeAndClear() Line 206 C++ > sfxlo.dll!SfxChildWindow::~SfxChildWindow() Line 198 C++ > smlo.dll!SmCmdBoxWrapper::~SmCmdBoxWrapper() C++ > smlo.dll!SmCmdBoxWrapper::`scalar deleting destructor'(unsigned int) C++ > sfxlo.dll!SfxChildWindow::Destroy() Line 176 C++ > sfxlo.dll!SfxWorkWindow::DeleteControllers_Impl() Line 599 C++ > sfxlo.dll!SfxFrame::DoClose_Impl() Line 133 C++ > sfxlo.dll!SfxBaseController::dispose() Line 981 C++ > fwklo.dll!`anonymous namespace'::XFrameImpl::setComponent(const com::sun::star::uno::Reference<com::sun::star::awt::XWindow> & xComponentWindow, const com::sun::star::uno::Reference<com::sun::star::frame::XController> & xController) Line 1485 C++ > fwklo.dll!`anonymous namespace'::XFrameImpl::close(unsigned char bDeliverOwnership) Line 1696 C++ > fwklo.dll!framework::Desktop::impl_closeFrames(bool bAllowUI) Line 1702 C++ > fwklo.dll!framework::Desktop::terminate() Line 214 C++ > fwklo.dll!framework::CloseDispatcher::implts_terminateApplication() Line 543 C++ > fwklo.dll!framework::CloseDispatcher::impl_asyncCallback(LinkParamNone * __formal) Line 397 C++ > fwklo.dll!framework::CloseDispatcher::LinkStubimpl_asyncCallback(void * instance, LinkParamNone * data) Line 245 C++ > vcllo.dll!Link<LinkParamNone *,void>::Call(LinkParamNone * data) Line 111 C++ > vcllo.dll!vcl::EventPoster::DoEvent_Impl(void * __formal) Line 53 C++ > vcllo.dll!vcl::EventPoster::LinkStubDoEvent_Impl(void * instance, void * data) Line 48 C++ > vcllo.dll!Link<void *,void>::Call(void * data) Line 111 C++ > vcllo.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent) Line 2232 C++ > vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const void * pEvent) Line 2800 C++ > vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 308 C++ > vclplug_winlo.dll!ImplHandleUserEvent(HWND__ * hWnd, __int64 lParam) Line 4214 C++ > vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 5865 C++ > vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 5972 C++ > user32.dll!UserCallWinProcCheckWow() Unknown > user32.dll!DispatchMessageWorker() Unknown > vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 475 C++ > vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 506 C++ > vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 581 C++ > vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 474 C++ > vcllo.dll!Application::Yield() Line 559 C++ > vcllo.dll!Application::Execute() Line 452 C++ > sofficeapp.dll!desktop::Desktop::Main() Line 1600 C++ > vcllo.dll!ImplSVMain() Line 202 C++ > vcllo.dll!SVMain() Line 235 C++ > sofficeapp.dll!soffice_main() Line 94 C++ > soffice.bin!sal_main() Line 51 C > soffice.bin!main(int argc, char * * argv) Line 49 C
Firing the event when we already set the id to mean "revoked" seems wrong. - There should be no need for a cast here
Stephan Bergmann: ...presumably added back in the day to avoid warnings about signed vs.