configure.ac | 2 download.lst | 20 ++-- external/libcdr/UnpackedTarball_libcdr.mk | 1 external/libcdr/ax_gcc_func_attribute.m4.patch | 11 -- external/libcdr/libcdr-visibility-win.patch | 8 - external/libetonyek/0001-allow-0-size-message.patch.1 | 30 ------ external/libetonyek/0001-fix-build-with-MSVC.patch.1 | 28 ----- external/libetonyek/0002-fix-build-with-MSVC.patch.1 | 55 ----------- external/libetonyek/UnpackedTarball_libetonyek.mk | 5 - external/libetonyek/include.patch | 10 -- external/libetonyek/warnings.patch | 11 -- external/libqxp/UnpackedTarball_libqxp.mk | 2 helpcontent2 | 2 officecfg/Configuration_officecfg.mk | 1 officecfg/registry/data/org/openoffice/Office/Common.xcu | 2 postprocess/CustomTarget_registry.mk | 1 sc/qa/unit/data/xlsx/sortconditionref.xlsx |binary sc/qa/unit/subsequent_export_test2.cxx | 16 +++ sc/source/filter/oox/autofilterbuffer.cxx | 10 -- sd/qa/unit/PNGExportTests.cxx | 4 solenv/gbuild/AllLangMoTarget.mk | 7 - svl/source/undo/undo.cxx | 8 - sw/qa/extras/htmlexport/data/ul_with_disc.fodt | 23 ++++ sw/qa/extras/htmlexport/htmlexport.cxx | 13 ++ sw/source/filter/html/htmlnumwriter.cxx | 35 +++---- sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx | 2 vcl/inc/quartz/salgdi.h | 1 vcl/osx/salframeview.mm | 33 ++++++ vcl/osx/salnativewidgets.cxx | 27 ++++- vcl/skia/gdiimpl.cxx | 22 ++-- vcl/skia/osx/gdiimpl.cxx | 74 ++++++++------- vcl/uiconfig/ui/combobox.ui | 5 - vcl/unx/gtk3/gtkinst.cxx | 29 ++++- vcl/win/gdi/DWriteTextRenderer.cxx | 3 34 files changed, 240 insertions(+), 261 deletions(-)
New commits: commit f20eb280989d13861c7ea7dfcafef041c3be3749 Merge: 6821953fbb17 82c324933a77 Author: Thorsten Behrens <[email protected]> AuthorDate: Tue Dec 3 12:27:46 2024 +0100 Commit: Thorsten Behrens <[email protected]> CommitDate: Tue Dec 3 12:27:46 2024 +0100 Merge remote-tracking branch 'libreoffice-24-8-4' into feature/cib_contract49d Change-Id: I41f33a6be28328832f3c48687b02996c8d50055b Conflicts: .gitreview configure.ac dictionaries translations commit 82c324933a7711b3e82dc719637119f158a65791 Author: Christian Lohmaier <[email protected]> AuthorDate: Thu Nov 28 22:35:53 2024 +0100 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 22:35:53 2024 +0100 bump product version to 24.8.4.1.0+ Change-Id: I0e3f67dac062ce9b6fd35467dc0b22ac0241fc00 diff --git a/configure.ac b/configure.ac index 67a836db4977..b39ca2e3bcb9 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[24.8.4.0.0+],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[24.8.4.1.0+],[],[],[http://documentfoundation.org/]) dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard commit c569c4445c5783cd17cf4f705c2a07bac78f8ccc Author: Christian Lohmaier <[email protected]> AuthorDate: Thu Nov 28 22:31:18 2024 +0100 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 22:31:18 2024 +0100 Branch libreoffice-24-8-4 This is 'libreoffice-24-8-4' - the stable branch for the 24.8.4 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 24.8.x release, please use the 'libreoffice-24-8' branch. If you want to build something cool, unstable, and risky, use master. diff --git a/.gitreview b/.gitreview index 90dbf14f3add..49c7692c842a 100644 --- a/.gitreview +++ b/.gitreview @@ -3,5 +3,5 @@ host=gerrit.libreoffice.org port=29418 project=core defaultremote=logerrit -defaultbranch=libreoffice-24-8 +defaultbranch=libreoffice-24-8-4 diff --git a/dictionaries b/dictionaries index ca2fa16f706d..52e5da345a2a 160000 --- a/dictionaries +++ b/dictionaries @@ -1 +1 @@ -Subproject commit ca2fa16f706dbfbc2ec767e6be4f723ec4c2d669 +Subproject commit 52e5da345a2a7fd7ea5ff1879caa62e5147947fa diff --git a/helpcontent2 b/helpcontent2 index bad768594be4..8a580a454831 160000 --- a/helpcontent2 +++ b/helpcontent2 @@ -1 +1 @@ -Subproject commit bad768594be416143c007c52fecb5a26c495f396 +Subproject commit 8a580a454831fe4662b9e0bac5bbd16dd8893281 diff --git a/translations b/translations index 14ca3ba24125..aacdd748845e 160000 --- a/translations +++ b/translations @@ -1 +1 @@ -Subproject commit 14ca3ba241258f3ce46fd9b9a1588655529c2494 +Subproject commit aacdd748845e3c34772e7eac2c2d00738b8ccd9d commit f8a61e7bb0a2bc8fe574812926b2d1b6cfce26df Author: Christian Lohmaier <[email protected]> AuthorDate: Thu Nov 28 22:19:51 2024 +0100 Commit: Gerrit Code Review <[email protected]> CommitDate: Thu Nov 28 22:19:51 2024 +0100 Update git submodules * Update translations from branch 'libreoffice-24-8' to 14ca3ba241258f3ce46fd9b9a1588655529c2494 - update translations for 24.8.4 rc1 and force-fix errors using pocheck Change-Id: I44564a43201a6e77b8cce8ea294f950a3398ae71 diff --git a/translations b/translations index 98e9d50ec53f..14ca3ba24125 160000 --- a/translations +++ b/translations @@ -1 +1 @@ -Subproject commit 98e9d50ec53ff2fee91104c9505a7790f029b78a +Subproject commit 14ca3ba241258f3ce46fd9b9a1588655529c2494 commit 975b34914ad2016786eae115fb38d1bce654ec2b Author: Caolán McNamara <[email protected]> AuthorDate: Thu Nov 28 14:38:55 2024 +0000 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 22:02:44 2024 +0100 crash seen in export of forum-mso-en-2962.doc to rtf and reimport Change-Id: I3813d8ebcb1e678ece2e3c3554bb0ddb7b546b34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177491 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <[email protected]> diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx index 606e1213b707..988ee222370c 100644 --- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx +++ b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx @@ -8036,7 +8036,7 @@ void DomainMapper_Impl::CloseFieldCommand() } //extract quick help text - if (sCommand.getLength() > nIndex + 1) + if (nIndex != -1 && sCommand.getLength() > nIndex + 1) { xFieldProperties->setPropertyValue( getPropertyName(PROP_HINT), commit 9471401da95e7b31785dfbe24597da5484e8c35d Author: Noel Grandin <[email protected]> AuthorDate: Mon Oct 14 17:07:31 2024 +0200 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 22:01:53 2024 +0100 tdf#157130 undo and track changes not restoring characters (macOS) Not sure about the real underlying issue here. In debug mode, we hit this assert. Changing it from an assert to a "do decrement mnEmptyMark if it would become negative" seems to help. Change-Id: Ie23a685552d2f8153b67e18f9c0203ecbaad0ede Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174905 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> (cherry picked from commit 148fa9e9405b143f9fc228d9b5f967cad3139967) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175493 Reviewed-by: Christian Lohmaier <[email protected]> diff --git a/svl/source/undo/undo.cxx b/svl/source/undo/undo.cxx index 488a0538244f..f9256e0ab7e9 100644 --- a/svl/source/undo/undo.cxx +++ b/svl/source/undo/undo.cxx @@ -575,13 +575,9 @@ bool SfxUndoManager::ImplAddUndoAction_NoNotify( std::unique_ptr<SfxUndoAction> if (m_xData->pActUndoArray->nCurUndoAction > 0) { --m_xData->pActUndoArray->nCurUndoAction; + // fdo#66071 invalidate the current empty mark when removing + --m_xData->mnEmptyMark; } - else - { - assert(!"CurrentUndoAction going negative (!)"); - } - // fdo#66071 invalidate the current empty mark when removing - --m_xData->mnEmptyMark; } } commit c68355376f155018eabbf4cffeaa18e06c634562 Author: Patrick Luby <[email protected]> AuthorDate: Fri Nov 15 08:12:26 2024 -0500 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 21:59:06 2024 +0100 tdf#163876 ignore marked text generated from Command-` events For some unknown reason, when using the standard macOS French layout, pressing Command-` causes -[NSView interpretKeyEvents:] to temporarily set and unset the marked text. Command-` should only cycle through the application's windows so ignore marked text changes from such key down events. Change-Id: Ifeb4ad637d572b339d7b389466815bb60a4b3120 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176652 Reviewed-by: Patrick Luby <[email protected]> Tested-by: Jenkins (cherry picked from commit 0c065c5e233044361713c0003dac6294a82a6e6e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176653 Reviewed-by: Christian Lohmaier <[email protected]> diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm index 8ff27b9e63cf..40007e0fc38a 100644 --- a/vcl/osx/salframeview.mm +++ b/vcl/osx/salframeview.mm @@ -2016,8 +2016,22 @@ static bool isMouseScrollWheelEvent( NSEvent *pEvent ) aString = [[[NSAttributedString alloc] initWithString:aString] autorelease]; // Reset cached state + BOOL bOldHasMarkedText = [self hasMarkedText]; [self unmarkText]; + // tdf#163876 ignore marked text generated from Command-` events + // For some unknown reason, when using the standard macOS French + // layout, pressing Command-` causes -[NSView interpretKeyEvents:] + // to temporarily set and unset the marked text. + // Command-` should only cycle through the application's windows + // so ignore marked text changes from such key down events. + if( !bOldHasMarkedText && mpLastEvent && [mpLastEvent type] == NSEventTypeKeyDown && [mpLastEvent keyCode] == 42 && ( [mpLastEvent modifierFlags] & ( NSEventModifierFlagCommand | NSEventModifierFlagOption | NSEventModifierFlagControl | NSEventModifierFlagShift ) ) == NSEventModifierFlagCommand ) + { + NSString* pUnmodifiedString = [mpLastEvent charactersIgnoringModifiers]; + if( pUnmodifiedString && ![pUnmodifiedString length] ) + return; + } + int len = [aString length]; bool bReschedule = false; SalExtTextInputEvent aInputEvent; commit 8f08c9ac2805488ab60e32cc641d72aac1cbf3ce Author: Michael Weghorn <[email protected]> AuthorDate: Mon Nov 18 13:02:52 2024 +0100 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 21:56:37 2024 +0100 tdf#163792 gtk3: Don't always focus combobox when its popup closes Since commit 405cf00e4818886b0d3053d03cfb2e3f3a5e8eb8 Author: Michael Weghorn <[email protected]> Date: Tue May 28 11:50:12 2024 +0200 related tdf#160971 gtk3 a11y: Keep new combobox value , closing an (editable) combobox like the font size one in the Writer formatting toolbar resulted in the combobox's entry having focus, while the focus was set to the document before that commit. Make this work as expected (again), by making grabbing the focus conditional in 2 places: 1) In GtkInstanceComboBox::signal_popup_toggled, only set the focus to the GtkEntry of the custom combobox implementation if the child focus is already inside of the combobox. As I understand it, the intended logic is "move focus from the combo box's button to its entry", not "unconditionally grab the focus". This also matches what the gtk4 implementation does. Sync the comment from the gtk4 implementation, which explicitly mentions the case of the font combobox in the toolbar (which behaves the same as the font size one in that regard) where focus should not be grabbed. 2) In GtkComboBox::menu_toggled, only explicitly set focus to the toggle button if the combo box is located inside of a popup. This is the same condition used to grab all keyboard events. The code to do both was introduced in commit 131c1c7da8c567636ca55751e49d24cb6d6c9b9e Date: Sun Nov 21 19:53:47 2021 +0000 Related: tdf#145786 cooperate between our own grabs whose commit message only explicitly mentions grabs for popups. The scenarios described in the commit message still work as expected with GDK_BACKEND=x11. With this in place, focus now moves to the document as expected when clicking on a combobox entry in the popup for the font size combobox in Writer's formatting toolbar, while clicking an entry in any of the comboboxes in e.g. Writer's "Format" -> "Character" dialog's "Font" tab still results in the entry of the combobox getting focus. Change-Id: Ib07b034f8327dab19a2264ae3ed8e20ea918dd89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176713 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> (cherry picked from commit 4e770803c63417791cf2e38e27ec85127056b7a5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176730 Reviewed-by: Christian Lohmaier <[email protected]> diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index d8844aacc65b..1f1ea5d3ac15 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -21330,8 +21330,10 @@ private: GdkSurface* pParentSurface = pParent ? widget_get_surface(pParent) : nullptr; void* pParentIsPopover = pParentSurface ? g_object_get_data(G_OBJECT(pParentSurface), "g-lo-InstancePopup") : nullptr; if (pParentIsPopover) + { do_grab(m_pToggleButton); - gtk_widget_grab_focus(m_pToggleButton); + gtk_widget_grab_focus(m_pToggleButton); + } } } else @@ -21377,11 +21379,18 @@ private: ComboBox::signal_popup_toggled(); if (!m_bPopupActive && m_pEntry) { - disable_notify_events(); - //restore focus to the GtkEntry when the popup is gone, which - //is what the vcl case does, to ease the transition a little - gtk_widget_grab_focus(m_pEntry); - enable_notify_events(); + if (has_child_focus()) + { + // restore focus to the GtkEntry when the popup is gone, which + // is what the vcl case does, to ease the transition a little, + // but don't do it if the focus was moved out of togglebutton + // by something else already (e.g. font combobox in toolbar + // on a "direct pick" from the menu which moves focus into + // the main document + disable_notify_events(); + gtk_widget_grab_focus(m_pEntry); + enable_notify_events(); + } // tdf#160971: For some reason, the tree view in the no longer visible // popup still incorrectly assumes it has focus in addition to the now commit 8d9bb143730c9866ef40b27d374d7b571b71a8b9 Author: Michael Weghorn <[email protected]> AuthorDate: Wed Oct 30 12:44:33 2024 +0100 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 21:56:03 2024 +0100 tdf#163684 gtk3 a11y: Don't use combobox role twice for non-editable one Since commit 9f078ed7b625e86182d64d5ccfbb410cdd38081c Author: Michael Weghorn <[email protected]> Date: Tue May 7 10:04:16 2024 +0200 tdf#160971 gtk3 a11y: Set role for custom editable combobox Set the combobox a11y role for the box in the .ui file used for the custom gtk3 combobox implementation. With this in place, moving focus to the "Font Name" or another editable combobox in the Writer toolbar now makes Orca announce that one as "editable combobox" rather than just "text". , the combobox a11y role is set for the GtkBox of the custom combobox implementation used for gtk3. That box contains the edit (for editable comboboxes) and the button. While this is needed for editable comboboxes for AT to identify this as a combobox when the edit receives focus (by the fact that the edit's parent has a combobox role), this resulted in Orca no longer announcing the combobox role when the button receives focus for non-editable comboboxes. While the button also has the combobox role, Orca has logic to not announce the role of combobox children. (`SpeechGenerator._should_speak_role` returns `false` for that case [1].) To avoid this problem and make announcement for both, editable and non-editable comboboxes work as expected, no longer set a combobox role for the box in the .ui file, but set it only for the editable combobox in the C++ code. [1] https://gitlab.gnome.org/GNOME/orca/-/blob/78e44c625ef5fb082907ca484230458624d24ee8/src/orca/speech_generator.py#L365-366 Change-Id: Ia3ff00688f47e61d5a98c79f1a256061b2fb18a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175823 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> (cherry picked from commit cf627ab2c8c070a620c81cff1faf7b6f04205255) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175842 Reviewed-by: Christian Lohmaier <[email protected]> diff --git a/vcl/uiconfig/ui/combobox.ui b/vcl/uiconfig/ui/combobox.ui index a9c697f10bc7..6abaa6a25171 100644 --- a/vcl/uiconfig/ui/combobox.ui +++ b/vcl/uiconfig/ui/combobox.ui @@ -67,11 +67,6 @@ <property name="position">2</property> </packing> </child> - <child internal-child="accessible"> - <object class="AtkObject" id="box-atkobject"> - <property name="AtkObject::accessible-role">combo-box</property> - </object> - </child> <style> <class name="linked"/> </style> diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index d83d209f7974..d8844aacc65b 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -22281,6 +22281,14 @@ public: m_nEntryKeyPressEventSignalId = g_signal_connect(m_pEntry, "key-press-event", G_CALLBACK(signalEntryKeyPress), this); m_nEntryPopulatePopupMenuSignalId = g_signal_connect(m_pEntry, "populate-popup", G_CALLBACK(signalEntryPopulatePopup), nullptr); m_nKeyPressEventSignalId = 0; + + // for editable combobox, set a11y combobox role for the box containing the entry + // (in addition to the button for which this is already set in the .ui file that + // gets focus in case of the the non-editable combobox) + GtkWidget* pBox = GTK_WIDGET(gtk_builder_get_object(pComboBuilder, "box")); + assert(pBox); + if (AtkObject* pBoxAccessible = gtk_widget_get_accessible(pBox)) + atk_object_set_role(pBoxAccessible, ATK_ROLE_COMBO_BOX); } else { commit 13fcfcf7593bfa962d783bb5a91ae54fc15c0683 Author: Christian Lohmaier <[email protected]> AuthorDate: Thu Nov 28 22:51:01 2024 +0200 Commit: Gerrit Code Review <[email protected]> CommitDate: Thu Nov 28 21:51:01 2024 +0100 Update git submodules * Update helpcontent2 from branch 'libreoffice-24-8' to bad768594be416143c007c52fecb5a26c495f396 - enable help for Tagalog (tl) Change-Id: I0e35015d4d2526ea0d09404140a1ee73ce658350 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177502 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <[email protected]> diff --git a/helpcontent2 b/helpcontent2 index fce7eb57bb9b..bad768594be4 160000 --- a/helpcontent2 +++ b/helpcontent2 @@ -1 +1 @@ -Subproject commit fce7eb57bb9b4fb063ff2eb7bc44f17a9221c020 +Subproject commit bad768594be416143c007c52fecb5a26c495f396 commit f70922e2a9a074f3dbad419952e4d584146af169 Author: Christian Lohmaier <[email protected]> AuthorDate: Thu Nov 28 21:50:34 2024 +0100 Commit: Gerrit Code Review <[email protected]> CommitDate: Thu Nov 28 21:50:34 2024 +0100 Update git submodules * Update helpcontent2 from branch 'libreoffice-24-8' to fce7eb57bb9b4fb063ff2eb7bc44f17a9221c020 - add screenshots and files for Tagalog run through optipng -o7 to reduce the filesize XMLSourceDialog.png as well as the sample files were copied from existing languages Change-Id: Ie40b83f115342832f040a619f057b0ea83dc709d Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177501 Reviewed-by: Christian Lohmaier <[email protected]> Tested-by: Jenkins diff --git a/helpcontent2 b/helpcontent2 index e4fdfbd1a4a4..fce7eb57bb9b 160000 --- a/helpcontent2 +++ b/helpcontent2 @@ -1 +1 @@ -Subproject commit e4fdfbd1a4a4b5c13f94eae59274377a05f69b30 +Subproject commit fce7eb57bb9b4fb063ff2eb7bc44f17a9221c020 commit f0062fe405036642ff2e5cba172b3a8b81ed5a76 Author: Xisco Fauli <[email protected]> AuthorDate: Wed Nov 27 10:46:51 2024 +0100 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 17:11:12 2024 +0100 openldap: upgrade to 2.6.9 Downloaded from https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.9.tgz Change-Id: Ie26290f4443d92cb9f0801548782c0f10a518984 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177401 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> (cherry picked from commit e73b5b0afad2daaafe76b9a201ddcad74560c4d2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177411 Reviewed-by: Christian Lohmaier <[email protected]> diff --git a/download.lst b/download.lst index 597bc6f6c630..d881ee2aa0d4 100644 --- a/download.lst +++ b/download.lst @@ -503,8 +503,8 @@ ONLINEUPDATE_TARBALL := onlineupdate-c003be8b9727672e7d30972983b375f4c200233f-2. # three static lines # so that git cherry-pick # will not run into conflicts -OPENLDAP_SHA256SUM := 48969323e94e3be3b03c6a132942dcba7ef8d545f2ad35401709019f696c3c4e -OPENLDAP_TARBALL := openldap-2.6.8.tgz +OPENLDAP_SHA256SUM := 2cb7dc73e9c8340dff0d99357fbaa578abf30cc6619f0521972c555681e6b2ff +OPENLDAP_TARBALL := openldap-2.6.9.tgz # three static lines # so that git cherry-pick # will not run into conflicts commit fdaa4119632b1aa0caa9a5de5e9c43f42d27062a Author: Christian Lohmaier <[email protected]> AuthorDate: Tue Nov 26 14:07:23 2024 +0100 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 14:28:49 2024 +0100 show extension link on startcenter for macosxsandbox case the ShowDonation has already a default value of true via the schema, so it is enough to override it to false for the macosxsandbox case similar to how it is done with the Infobar / using the install:module method Change-Id: I8f1ea6d3530e66806f66f9f2d2fb16ef0276e460 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177333 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <[email protected]> (cherry picked from commit fd2c9abe5229f98e062b7b32994e9e015975ca90) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177358 Reviewed-by: Heiko Tietze <[email protected]> diff --git a/officecfg/Configuration_officecfg.mk b/officecfg/Configuration_officecfg.mk index 57ac28bbed51..868a6626755b 100644 --- a/officecfg/Configuration_officecfg.mk +++ b/officecfg/Configuration_officecfg.mk @@ -87,6 +87,7 @@ $(eval $(call gb_Configuration_add_spool_modules,registry,officecfg/registry/dat org/openoffice/Office/Common-unx.xcu \ org/openoffice/Office/Common-unixdesktop.xcu \ org/openoffice/Office/Common-macosx.xcu \ + org/openoffice/Office/Common-macosxsandbox.xcu \ org/openoffice/Office/Common-wnt.xcu \ org/openoffice/Office/Common-UseOOoFileDialogs.xcu \ org/openoffice/Office/Common-32bit.xcu \ diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu index f146d5a82769..002aafc8fac9 100644 --- a/officecfg/registry/data/org/openoffice/Office/Common.xcu +++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu @@ -458,7 +458,7 @@ <value install:module="wnt">true</value> </prop> <prop oor:name="ShowDonation"> - <value>true</value> + <value install:module="macosxsandbox">false</value> </prop> </node> <node oor:name="Save"> diff --git a/postprocess/CustomTarget_registry.mk b/postprocess/CustomTarget_registry.mk index 20d68d3bc7aa..4be442c49ae4 100644 --- a/postprocess/CustomTarget_registry.mk +++ b/postprocess/CustomTarget_registry.mk @@ -309,6 +309,7 @@ endif ifneq ($(ENABLE_MACOSX_SANDBOX),) postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/Office/UI/Infobar-macosxsandbox.xcu +postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/Office/Common-macosxsandbox.xcu endif ifneq (,$(SYSTEM_LIBEXTTEXTCAT_DATA)) commit b54ecbdca64c469e25e46a4c047ee36d355da7c7 Author: Christian Lohmaier <[email protected]> AuthorDate: Tue Aug 27 14:04:14 2024 +0200 Commit: Christian Lohmaier <[email protected]> CommitDate: Thu Nov 28 14:27:25 2024 +0100 run msguniq .. | msgfmt in a subshell to help out wsl1 handling stdout / pipe / redirections seems to be fragile when using wsl command1 | wsl command2 when multiple of those are run concurrently. So as a workaround make that a single invocation of wsl shell -c "command1 | command2" Change-Id: I9e67fddd6cf377aa0461515036ea7b709714153d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172468 Reviewed-by: Christian Lohmaier <[email protected]> Tested-by: Jenkins (cherry picked from commit 1c84943890afea8eaa8fdaeabbd4394680d657f9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177437 Reviewed-by: Michael Stahl <[email protected]> diff --git a/solenv/gbuild/AllLangMoTarget.mk b/solenv/gbuild/AllLangMoTarget.mk index ec05985d5ecc..3811ff4ee478 100644 --- a/solenv/gbuild/AllLangMoTarget.mk +++ b/solenv/gbuild/AllLangMoTarget.mk @@ -32,12 +32,13 @@ $(call gb_MoTarget_get_clean_target,%) : $(call gb_MoTarget_get_target,$*) \ $(call gb_MoTarget_get_install_target,$*)) +# wsl1 seems to have issues with writing to stdout/pipes when running with high parallelism +# so as a workaround run the two statements in a single command run by a shell $(call gb_MoTarget_get_target,%) : $(gb_Helper_MISCDUMMY) $(call gb_Output_announce,$*,$(true),MO ,2) $(call gb_Trace_StartRange,$*,MO ) - $(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $@) && \ - $(MSGUNIQ) --force-po $(gb_POLOCATION)/$(LANGUAGE)/$(POLOCATION)/messages.po | $(MSGFMT) - -o $@) + $(call gb_Helper_abbreviate_dirs,mkdir -p $(dir $@)) && \ + $(call gb_Helper_wsl_path,$(WSL) /bin/sh -c "$(MSGUNIQ) --force-po $(gb_POLOCATION)/$(LANGUAGE)/$(POLOCATION)/messages.po | $(MSGFMT) - -o $@") $(call gb_Trace_EndRange,$*,MO ) #$(info $(call gb_MoTarget_get_target,$(1))) commit 14d5d8c685b509840202f72748b71f221fa95be8 Author: Xisco Fauli <[email protected]> AuthorDate: Tue Nov 26 13:39:23 2024 +0100 Commit: Michael Stahl <[email protected]> CommitDate: Thu Nov 28 11:01:53 2024 +0100 libcdr: upgrade to 0.1.8 Generated with: ./autogen.sh ./configure make dist-xz Change-Id: I46b921f3c2ef41ab52e272df5afd82a1d9331f42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177332 Reviewed-by: Xisco Fauli <[email protected]> Tested-by: Jenkins (cherry picked from commit 0e334b25b91b4585a8660e49355c3442ebfd334e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177346 Reviewed-by: Michael Stahl <[email protected]> diff --git a/download.lst b/download.lst index e5da31a3a7d0..597bc6f6c630 100644 --- a/download.lst +++ b/download.lst @@ -45,8 +45,8 @@ CAIRO_TARBALL := cairo-1.17.$(CAIRO_VERSION_MICRO).tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -CDR_SHA256SUM := 5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4 -CDR_TARBALL := libcdr-0.1.7.tar.xz +CDR_SHA256SUM := ced677c8300b29c91d3004bb1dddf0b99761bf5544991c26c2ee8f427e87193c +CDR_TARBALL := libcdr-0.1.8.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts diff --git a/external/libcdr/UnpackedTarball_libcdr.mk b/external/libcdr/UnpackedTarball_libcdr.mk index f0e80f06f05f..fd227a2f7445 100644 --- a/external/libcdr/UnpackedTarball_libcdr.mk +++ b/external/libcdr/UnpackedTarball_libcdr.mk @@ -17,7 +17,6 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libcdr)) $(eval $(call gb_UnpackedTarball_add_patches,libcdr, \ external/libcdr/libcdr-visibility-win.patch \ - external/libcdr/ax_gcc_func_attribute.m4.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/libcdr/ax_gcc_func_attribute.m4.patch b/external/libcdr/ax_gcc_func_attribute.m4.patch deleted file mode 100644 index 37f4edf0bd46..000000000000 --- a/external/libcdr/ax_gcc_func_attribute.m4.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -19167,7 +19167,7 @@ - - _ACEOF - if ac_fn_cxx_try_link "$LINENO"; then : -- if test -s conftest.err; then : -+ if grep -- -Wattributes conftest.err; then : - ax_cv_have_func_attribute_visibility=no - else - ax_cv_have_func_attribute_visibility=yes diff --git a/external/libcdr/libcdr-visibility-win.patch b/external/libcdr/libcdr-visibility-win.patch index 7700cfd32f2f..5333b5e44b1f 100644 --- a/external/libcdr/libcdr-visibility-win.patch +++ b/external/libcdr/libcdr-visibility-win.patch @@ -1,11 +1,11 @@ --- configure.dt 2018-12-29 16:23:02.355271146 +0100 +++ configure 2018-12-29 16:23:21.644060142 +0100 -@@ -19116,6 +19116,8 @@ +@@ -23329,6 +23329,8 @@ - - if test $platform_win32 = yes; then : + if test $platform_win32 = yes + then : + HAVE_VISIBILITY_TRUE='#' + HAVE_VISIBILITY_FALSE= - else + else $as_nop commit 75b15fa500b5f1cdbc50a54f9edcec3f549ed4a5 Author: Gülşah Köse <[email protected]> AuthorDate: Fri Nov 22 14:38:40 2024 +0300 Commit: Xisco Fauli <[email protected]> CommitDate: Thu Nov 28 10:36:21 2024 +0100 tdf#163842 Fix autofilter ascending sort condition reference import if (rSorConditionLoaded.mbDescending) condition ignores the ascending sort. So when we import a document that uses ascending sort then export it, we don't know which column is sorted. With the following patch we fix this case. Signed-off-by: Gülşah Köse <[email protected]> Change-Id: I561146517959a87eb0fb6cec419d68299bcb7eee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177016 Reviewed-by: Szymon Kłos <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177222 Tested-by: Jenkins (cherry picked from commit d902401452d85db0c320401335b5170dfa5f6c51) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177318 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sc/qa/unit/data/xlsx/sortconditionref.xlsx b/sc/qa/unit/data/xlsx/sortconditionref.xlsx new file mode 100644 index 000000000000..7aaebcc20471 Binary files /dev/null and b/sc/qa/unit/data/xlsx/sortconditionref.xlsx differ diff --git a/sc/qa/unit/subsequent_export_test2.cxx b/sc/qa/unit/subsequent_export_test2.cxx index f7a8e35c0907..cff515a1a950 100644 --- a/sc/qa/unit/subsequent_export_test2.cxx +++ b/sc/qa/unit/subsequent_export_test2.cxx @@ -410,6 +410,22 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testTdf95640_xlsx_to_xlsx) "customList"_ostr, u"Low,Medium,High"_ustr); } +CPPUNIT_TEST_FIXTURE(ScExportTest2, testSortConditionRef) +{ + // Ascending sortCondition reference detected wrong without fix. + // - Expected: B3:B2 + // - Actual : A3:A2 + // - In <>, attribute 'ref' of '//x:worksheet/x:autoFilter/x:sortState/x:sortCondition' incorrect value. + createScDoc("xlsx/sortconditionref.xlsx"); + + save(u"Calc Office Open XML"_ustr); + xmlDocUniquePtr pDoc = parseExport(u"xl/worksheets/sheet1.xml"_ustr); + + assertXPath(pDoc, "//x:worksheet/x:autoFilter"_ostr, "ref"_ostr, u"B2"_ustr); + assertXPath(pDoc, "//x:worksheet/x:autoFilter/x:sortState/x:sortCondition"_ostr, "ref"_ostr, + u"B3:B2"_ustr); +} + CPPUNIT_TEST_FIXTURE(ScExportTest2, testDateAutofilterXLSX) { // XLSX Roundtripping autofilter with date list diff --git a/sc/source/filter/oox/autofilterbuffer.cxx b/sc/source/filter/oox/autofilterbuffer.cxx index 2aaeae049be1..1d7b7ffb0d70 100644 --- a/sc/source/filter/oox/autofilterbuffer.cxx +++ b/sc/source/filter/oox/autofilterbuffer.cxx @@ -847,15 +847,13 @@ void AutoFilter::finalizeImport( const Reference< XDatabaseRange >& rxDatabaseRa return; SCCOLROW nStartPos = aParam.bByRow ? maRange.aStart.Col() : maRange.aStart.Row(); + // descending sort - need to enable 1st SortParam slot if (rSorConditionLoaded.mbDescending) - { - // descending sort - need to enable 1st SortParam slot assert(aParam.GetSortKeyCount() == DEFSORT); - aParam.maKeyState[0].bDoSort = true; - aParam.maKeyState[0].bAscending = false; - aParam.maKeyState[0].nField += nStartPos; - } + aParam.maKeyState[0].bDoSort = true; + aParam.maKeyState[0].bAscending = !rSorConditionLoaded.mbDescending; + aParam.maKeyState[0].nField += nStartPos; ScDBData* pDBData = rDoc.GetDBAtArea( nSheet, commit 4e3e708f7877a44be25f542be95ae4547cb613bc Author: Mike Kaganski <[email protected]> AuthorDate: Fri Nov 22 13:38:08 2024 +0500 Commit: Xisco Fauli <[email protected]> CommitDate: Thu Nov 28 10:35:47 2024 +0100 ReqIF: avoid 'type' attribute in 'ul' elements Change-Id: I028737cac0b89344be5df55f9b60046230603979 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176987 Reviewed-by: Mike Kaganski <[email protected]> Tested-by: Jenkins Signed-off-by: Xisco Fauli <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177241 diff --git a/sw/qa/extras/htmlexport/data/ul_with_disc.fodt b/sw/qa/extras/htmlexport/data/ul_with_disc.fodt new file mode 100644 index 000000000000..b41da841cf61 --- /dev/null +++ b/sw/qa/extras/htmlexport/data/ul_with_disc.fodt @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text"> + <office:automatic-styles> + <text:list-style style:name="L1"> + <text:list-level-style-bullet text:level="1" text:bullet-char="•"/> + <text:list-level-style-bullet text:level="2" text:bullet-char=""/> + </text:list-style> + </office:automatic-styles> + <office:body> + <office:text> + <text:list text:style-name="L1"> + <text:list-item> + <text:list> + <text:list-header> + <text:p>list header</text:p> + </text:list-header> + </text:list> + </text:list-item> + </text:list> + </office:text> + </office:body> +</office:document> \ No newline at end of file diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx b/sw/qa/extras/htmlexport/htmlexport.cxx index 1e4b78f78670..307301b28706 100644 --- a/sw/qa/extras/htmlexport/htmlexport.cxx +++ b/sw/qa/extras/htmlexport/htmlexport.cxx @@ -3470,6 +3470,19 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testHTML_162426) assertXPath(pDoc, "/html/body/p/img"_ostr, "border"_ostr, u"0"_ustr); } +CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqifNoTypeInUL) +{ + // Given a document with an unordered list: + createSwDoc("ul_with_disc.fodt"); + + // When exporting to XHTML: + ExportToReqif(); + + // Check that 'ul' element has no 'type' attribute + xmlDocUniquePtr pXmlDoc = WrapReqifFromTempFile(); + // Without the accompanying fix in place, this test would have failed + assertXPathNoAttribute(pXmlDoc, "//reqif-xhtml:ul/reqif-xhtml:li/reqif-xhtml:ul", "type"); +} } // end of anonymous namespace CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/filter/html/htmlnumwriter.cxx b/sw/source/filter/html/htmlnumwriter.cxx index 046747754a38..7f09fd8ce8cc 100644 --- a/sw/source/filter/html/htmlnumwriter.cxx +++ b/sw/source/filter/html/htmlnumwriter.cxx @@ -187,24 +187,27 @@ SwHTMLWriter& OutHTML_NumberBulletListStart( SwHTMLWriter& rWrt, // unordered list: <UL> sOut += OOO_STRING_SVTOOLS_HTML_unorderlist; - // determine the type by the bullet character - const char *pStr = nullptr; - switch( rNumFormat.GetBulletChar() ) + if (!rWrt.mbReqIF) // No 'type' attribute in ReqIF { - case HTML_BULLETCHAR_DISC: - pStr = OOO_STRING_SVTOOLS_HTML_ULTYPE_disc; - break; - case HTML_BULLETCHAR_CIRCLE: - pStr = OOO_STRING_SVTOOLS_HTML_ULTYPE_circle; - break; - case HTML_BULLETCHAR_SQUARE: - pStr = OOO_STRING_SVTOOLS_HTML_ULTYPE_square; - break; - } + // determine the type by the bullet character + const char* pStr = nullptr; + switch (rNumFormat.GetBulletChar()) + { + case HTML_BULLETCHAR_DISC: + pStr = OOO_STRING_SVTOOLS_HTML_ULTYPE_disc; + break; + case HTML_BULLETCHAR_CIRCLE: + pStr = OOO_STRING_SVTOOLS_HTML_ULTYPE_circle; + break; + case HTML_BULLETCHAR_SQUARE: + pStr = OOO_STRING_SVTOOLS_HTML_ULTYPE_square; + break; + } - if( pStr ) - { - sOut += OString::Concat(" " OOO_STRING_SVTOOLS_HTML_O_type "=\"") + pStr + "\""; + if (pStr) + { + sOut += OString::Concat(" " OOO_STRING_SVTOOLS_HTML_O_type "=\"") + pStr + "\""; + } } } else if( SVX_NUM_BITMAP == eType ) commit 4dc3896752241befcb29a3ff1ea82297fc4b7f9d Author: Patrick Luby <[email protected]> AuthorDate: Sun Nov 24 20:25:59 2024 -0500 Commit: Adolfo Jayme Barrientos <[email protected]> CommitDate: Thu Nov 28 02:14:01 2024 +0100 Improve rendering speed for native controls when using Skia/Metal While debugging tdf#163945, Xcode's Instruments application uncovered the following performance bottlenecks when using Skia/Metal: 1. Very slow rendering an NSBox: Many system colors have the NSColorTypeCatalog color type. For some unkown reason, setting the NSBox's fill color to a color set to NSColorTypeCatalog causes drawing to take at least twice as long as when the fill color is set to NSColorTypeComponentBased. So, only draw with a fill color set to NSColorTypeComponentBased. 2. Excessively large offscreen buffers when drawing native controls: The temporary bitmap was set to the control region expanded by 50 * mScaling (e.g. both width and height were increased by 200 pixels when running on a Retina display). This caused temporary bitmaps to be up to several times larger than needed. Also, drawing NSBox objects to a CGBitmapContext is noticeably slow so filling all that unneeded temporary bitmap area can slow down performance when a large number of NSBox objects like the status bar are redrawn in quick succession. Using getNativeControlRegion() isn't perfect, but it does try to account for the focus ring as well as the minimum width and/or height of the native control so union the two regions set by getNativeControlRegion() and add double the focus ring width on each side just to be safe. In most cases, this should ensure that the temporary bitmap is large enough to draw the entire native control and a focus ring. 3. Unncessary copying of bitmap buffer when drawing native controls: Let Skia own the CGBitmapContext's buffer so that an SkImage can be created without Skia making a copy of the buffer. Change-Id: Ibd3abb4b9d7045c47268319772fe97a5c4dba3c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177225 Tested-by: Jenkins Reviewed-by: Patrick Luby <[email protected]> (cherry picked from commit 0807fe362819629259a9a80a48d2826e588d909c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177291 Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/vcl/inc/quartz/salgdi.h b/vcl/inc/quartz/salgdi.h index b7fb674f7553..003bf077510f 100644 --- a/vcl/inc/quartz/salgdi.h +++ b/vcl/inc/quartz/salgdi.h @@ -446,6 +446,7 @@ protected: virtual bool drawNativeControl( ControlType nType, ControlPart nPart, const tools::Rectangle& rControlRegion, ControlState nState, const ImplControlValue& aValue, const OUString& aCaption, const Color& rBackgroundColor ) override; +public: virtual bool getNativeControlRegion( ControlType nType, ControlPart nPart, const tools::Rectangle& rControlRegion, ControlState nState, const ImplControlValue& aValue, const OUString& aCaption, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion ) override; diff --git a/vcl/osx/salnativewidgets.cxx b/vcl/osx/salnativewidgets.cxx index 8a7e81fd5d86..3340722281e8 100644 --- a/vcl/osx/salnativewidgets.cxx +++ b/vcl/osx/salnativewidgets.cxx @@ -380,6 +380,8 @@ bool AquaGraphicsBackend::drawNativeControl(ControlType nType, static void drawBox(CGContextRef context, const NSRect& rc, NSColor* pColor) { + assert(pColor); + CGContextSaveGState(context); CGContextTranslateCTM(context, rc.origin.x, rc.origin.y + rc.size.height); CGContextScaleCTM(context, 1, -1); @@ -388,12 +390,27 @@ static void drawBox(CGContextRef context, const NSRect& rc, NSColor* pColor) NSRect rect = { NSZeroPoint, NSMakeSize(rc.size.width, rc.size.height) }; NSBox* pBox = [[NSBox alloc] initWithFrame: rect]; - [pBox setBoxType: NSBoxCustom]; - [pBox setFillColor: pColor]; - SAL_WNODEPRECATED_DECLARATIONS_PUSH // setBorderType first deprecated in macOS 10.15 - [pBox setBorderType: NSNoBorder]; - SAL_WNODEPRECATED_DECLARATIONS_POP + + // Related tdf#163945: Set fill color to NSColorTypeComponentBased color type + // Many system colors have the NSColorTypeCatalog color type. For + // some unkown reason, setting the NSBox's fill color to a color set + // to NSColorTypeCatalog causes drawing to take at least twice as long + // as when the fill color is set to NSColorTypeComponentBased. So, + // only draw with a fill color set to NSColorTypeComponentBased. + NSColor* pRGBColor = pColor; + if ([pColor type] != NSColorTypeComponentBased) + { + pRGBColor = [pColor colorUsingType: NSColorTypeComponentBased]; + if (!pRGBColor) + pRGBColor = pColor; + } + [pBox setFillColor: pRGBColor]; + + // -[NSBox setBorderType: NSNoBorder] is deprecated so hide the border + // by setting the border color to transparent + [pBox setBorderColor: [NSColor clearColor]]; + [pBox setTitlePosition: NSNoTitle]; [pBox displayRectIgnoringOpacity: rect inContext: graphicsContext]; diff --git a/vcl/skia/osx/gdiimpl.cxx b/vcl/skia/osx/gdiimpl.cxx index ffe1ebc42d65..e74db4ec5475 100644 --- a/vcl/skia/osx/gdiimpl.cxx +++ b/vcl/skia/osx/gdiimpl.cxx @@ -27,6 +27,7 @@ #include <quartz/CoreTextFont.hxx> #include <quartz/SystemFontList.hxx> +#include <osx/salnativewidgets.h> #include <skia/quartz/cgutils.h> #include <SkBitmap.h> @@ -254,28 +255,51 @@ bool AquaSkiaSalGraphicsImpl::drawNativeControl(ControlType nType, ControlPart n return false; // rControlRegion is not the whole area that the control should be painted to (e.g. highlight - // around focused lineedit is outside of it). Since we draw to a temporary bitmap, we need tofind out - // the real size. Using getNativeControlRegion() might seem like the function to call, but we need - // the other direction - what is called rControlRegion here is rNativeContentRegion in that function - // what's called rControlRegion there is what we need here. Moreover getNativeControlRegion() - // in some cases returns a fixed size that does not depend on its input, so we have no way to - // actually find out what the original size was (or maybe the function is kind of broken, I don't know). - // So, add a generous margin and hope it's enough. + // around focused lineedit is outside of it). Since we draw to a temporary bitmap, we need to find out + // the real size. + // Related tdf#163945 Reduce the size of the temporary bitmap + // Previously, the temporary bitmap was set to the control region + // expanded by 50 * mScaling (e.g. both width and height were + // increased by 200 pixels when running on a Retina display). This + // caused temporary bitmaps to be up to several times larger than + // needed. Also, drawing NSBox objects to a CGBitmapContext is + // noticeably slow so filling all that unneeded temporary bitmap + // area can slow down performance when a large number of NSBox + // objects like the status bar are redrawn in quick succession. + // Using getNativeControlRegion() isn't perfect, but it does try to + // account for the focus ring as well as the minimum width and/or + // height of the native control so union the two regions set by + // getNativeControlRegion() and add double the focus ring width on + // each side just to be safe. In most cases, this should ensure + // that the temporary bitmap is large enough to draw the entire + // native control and a focus ring. tools::Rectangle boundingRegion(rControlRegion); - boundingRegion.expand(50 * mScaling); + tools::Rectangle rNativeBoundingRegion; + tools::Rectangle rNativeContentRegion; + AquaSalGraphics* pGraphics = mrShared.mpFrame->mpGraphics; + if (pGraphics + && pGraphics->getNativeControlRegion(nType, nPart, rControlRegion, nState, aValue, + OUString(), rNativeBoundingRegion, + rNativeContentRegion)) + { + boundingRegion.Union(rNativeBoundingRegion); + boundingRegion.Union(rNativeContentRegion); + } + boundingRegion.expand(2 * FOCUS_RING_WIDTH * mScaling); + // Do a scaled bitmap in HiDPI in order not to lose precision. const tools::Long width = boundingRegion.GetWidth() * mScaling; const tools::Long height = boundingRegion.GetHeight() * mScaling; const size_t bytes = width * height * 4; - sal_uInt8* data = new sal_uInt8[bytes]; - memset(data, 0, bytes); + // Let Skia own the CGBitmapContext's buffer so that an SkImage + // can be created without Skia making a copy of the buffer + sk_sp<SkData> data = SkData::MakeZeroInitialized(bytes); CGContextRef context = CGBitmapContextCreate( - data, width, height, 8, width * 4, GetSalData()->mxRGBSpace, + data->writable_data(), width, height, 8, width * 4, GetSalData()->mxRGBSpace, SkiaToCGBitmapType(mSurface->imageInfo().colorType(), kPremul_SkAlphaType)); if (!context) { SAL_WARN("vcl.skia", "drawNativeControl(): Failed to allocate bitmap context"); - delete[] data; return false; } // Setup context state for drawing (performDrawNativeControl() e.g. fills background in some cases). @@ -307,14 +331,6 @@ bool AquaSkiaSalGraphicsImpl::drawNativeControl(ControlType nType, ControlPart n CGContextRelease(context); if (bOK) { - // Let SkBitmap determine when it is safe to delete the pixel buffer - SkBitmap bitmap; - if (!bitmap.installPixels(SkImageInfo::Make(width, height, - mSurface->imageInfo().colorType(), - kPremul_SkAlphaType), - data, width * 4, nullptr, nullptr)) - abort(); - preDraw(); SAL_INFO("vcl.skia.trace", "drawnativecontrol(" << this << "): " << rControlRegion << ":" << int(nType) << "/" << int(nPart)); @@ -327,22 +343,18 @@ bool AquaSkiaSalGraphicsImpl::drawNativeControl(ControlType nType, ControlPart n updateRect.GetWidth(), updateRect.GetHeight())); SkRect drawRect = SkRect::MakeXYWH(boundingRegion.getX(), boundingRegion.getY(), boundingRegion.GetWidth(), boundingRegion.GetHeight()); - assert(drawRect.width() * mScaling == bitmap.width()); // no scaling should be needed - getDrawCanvas()->drawImageRect(bitmap.asImage(), drawRect, SkSamplingOptions()); + sk_sp<SkImage> image = SkImages::RasterFromData( + SkImageInfo::Make(width, height, mSurface->imageInfo().colorType(), + kPremul_SkAlphaType), + data, width * 4); + assert(image + && drawRect.width() * mScaling == image->width()); // no scaling should be needed + getDrawCanvas()->drawImageRect(image, drawRect, SkSamplingOptions()); // Related: tdf#156881 flush the canvas after drawing the pixel buffer getDrawCanvas()->flush(); ++pendingOperationsToFlush; // tdf#136369 postDraw(); } - // Related: tdf#159529 eliminate possible memory leak - // Despite confirming that the release function passed to - // SkBitmap.bitmap.installPixels() does get called for every - // data array that has been allocated, Apple's Instruments - // indicates that the data is leaking. While it is likely a - // false positive, it makes leak analysis difficult so leave - // the bitmap mutable. That causes SkBitmap.asImage() to make - // a copy of the data and the data can be safely deleted here. - delete[] data; return bOK; } commit 514aef42f6d5cab539e5ba80bdc2de8fb51801ba Author: Patrick Luby <[email protected]> AuthorDate: Sat Nov 23 17:18:57 2024 -0500 Commit: Adolfo Jayme Barrientos <[email protected]> CommitDate: Thu Nov 28 02:09:44 2024 +0100 tdf#157312 and tdf#163945 Lower Skia flush timer priority on macOS On macOS, flushing with Skia/Metal is noticeably slower than with Skia/Raster. So lower the flush timer priority to TaskPriority::POST_PAINT so that the flush timer runs less frequently but each pass copies a more up-to-date offscreen surface. Unfortunately, lowering the priority causes tdf#163734 to reoccur. When a dockable window is dragged by its titlebar, a rectangle may be drawn in its parent window. However, the Skia flush timer doesn't run until after the mouse button has been released (probably due to lowering of the Skia flush timer's priority to fix tdf#163734). So run the parent frame's Skia flush timer immediately to display the rectangle. Change-Id: I289eab85a087cb76a751dc6b777342b8dee49e1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177190 Reviewed-by: Patrick Luby <[email protected]> Tested-by: Jenkins (cherry picked from commit 16b629cf08f93e27e52816c761eeb3b5c128647b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177210 Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm index 8948b77985df..8ff27b9e63cf 100644 --- a/vcl/osx/salframeview.mm +++ b/vcl/osx/salframeview.mm @@ -439,6 +439,25 @@ static bool isMouseScrollWheelEvent( NSEvent *pEvent ) { mpFrame->UpdateFrameGeometry(); mpFrame->CallCallback( SalEvent::Move, nullptr ); + +#if HAVE_FEATURE_SKIA + // tdf#163734 Flush parent frame when Skia is enabled + // When a dockable window is dragged by its titlebar, a rectangle + // may be drawn in its parent window. However, the Skia flush + // timer doesn't run until after the mouse button has been + // released (probably due to lowering of the Skia flush timer's + // priority to fix tdf#163734). So run the parent frame's Skia + // flush timer immediately to display the rectangle. + if ( SkiaHelper::isVCLSkiaEnabled() && + mpFrame->mbShown && mpFrame->mpParent && + AquaSalFrame::isAlive( mpFrame->mpParent ) && + mpFrame->mpParent->mbShown ) + { + AquaSalGraphics* pGraphics = mpFrame->mpParent->mpGraphics; + if ( pGraphics ) + pGraphics->Flush(); + } +#endif } } diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index 791ebe46a923..4da83890a31d 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -269,16 +269,18 @@ public: { mpGraphics->performFlush(); Stop(); - // tdf#163945 Lower priority of Skia flush timer - // Commit f4c2c7c79cfe4464ac596afda37b8904d06969db fixed tdf#157312 - // by lowering the timer priority to TaskPriority::POST_PAINT. But - // it caused tdf#163734 so it was reverted to TaskPriority::HIGHEST - // in commit 5a38e4f9798c5ff247aa57581adf2671485627fd. - // While reverting to TaskPriority::HIGHEST did not cause tdf#157312 - // to reoccur, it did cause tdf#163945 so set the timer priority to - // TaskPriority::HIGH_IDLE. This priority appears to be low enough to - // fix tdf#16394 without causing tdf#163734 to reoccur. - SetPriority(TaskPriority::HIGH_IDLE); +#ifdef MACOSX + // tdf#157312 and tdf#163945 Lower Skia flush timer priority on macOS + // On macOS, flushing with Skia/Metal is noticeably slower than + // with Skia/Raster. So lower the flush timer priority to + // TaskPriority::POST_PAINT so that the flush timer runs less + // frequently but each pass copies a more up-to-date offscreen + // surface. + // TODO: fix tdf#163734 on macOS + SetPriority(TaskPriority::POST_PAINT); +#else + SetPriority(TaskPriority::HIGHEST); +#endif } }; commit 23b2e9757362174aa93c14ca798f0404076e0379 Author: Xisco Fauli <[email protected]> AuthorDate: Tue Nov 26 19:24:12 2024 +0100 Commit: Adolfo Jayme Barrientos <[email protected]> CommitDate: Wed Nov 27 22:36:29 2024 +0100 NotoSerif: upgrade to v2.015 Downloaded from https://github.com/notofonts/latin-greek-cyrillic/releases/download/NotoSerif-v2.015/NotoSerif-v2.015.zip Change-Id: I2cf07988ddb411db69457998e8171b19c46ea356 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177362 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> (cherry picked from commit 77bcd4dbbb0e18bc15ebb42afd45bc382aa4e925) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177367 Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/download.lst b/download.lst index 910433c634aa..e5da31a3a7d0 100644 --- a/download.lst +++ b/download.lst @@ -172,8 +172,8 @@ FONT_NOTO_SANS_TARBALL := NotoSans-v2.015.zip # three static lines # so that git cherry-pick # will not run into conflicts -FONT_NOTO_SERIF_SHA256SUM := 6abce0a80df4ef6d5a944d60c81099364481d6a7015b0721d87bc4c16acc1fd3 -FONT_NOTO_SERIF_TARBALL := NotoSerif-v2.014.zip +FONT_NOTO_SERIF_SHA256SUM := 0e9a43c8a4b94ac76f55069ed1d7385bbcaf6b99527a94deb5619e032b7e76c1 +FONT_NOTO_SERIF_TARBALL := NotoSerif-v2.015.zip # three static lines # so that git cherry-pick # will not run into conflicts commit eaa37729fcf720b299f9e3bfc7f27a825b71b7ee Author: Xisco Fauli <[email protected]> AuthorDate: Tue Nov 26 19:22:14 2024 +0100 Commit: Adolfo Jayme Barrientos <[email protected]> CommitDate: Wed Nov 27 22:35:54 2024 +0100 NotoSans: upgrade to v2.015 Downloaded from https://github.com/notofonts/latin-greek-cyrillic/releases/download/NotoSans-v2.015/NotoSans-v2.015.zip Change-Id: I924800998d31235eb7d2fcea83adfc64ff748ea2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177361 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> (cherry picked from commit aa6b56cdda0883ff86151f84c0aafe1e2bec7b53) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177373 Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/download.lst b/download.lst index 933c58d4af6a..910433c634aa 100644 --- a/download.lst +++ b/download.lst @@ -167,8 +167,8 @@ FONT_NOTO_KUFI_ARABIC_TARBALL := NotoKufiArabic-v2.109.zip # three static lines # so that git cherry-pick # will not run into conflicts -FONT_NOTO_SANS_SHA256SUM := 1dffbaf31a0a699ee2c57dfb60c1a628010425301dd076cfb485adbe017352c1 -FONT_NOTO_SANS_TARBALL := NotoSans-v2.014.zip +FONT_NOTO_SANS_SHA256SUM := 0c34df072a3fa7efbb7cbf34950e1f971a4447cffe365d3a359e2d4089b958f5 +FONT_NOTO_SANS_TARBALL := NotoSans-v2.015.zip # three static lines # so that git cherry-pick # will not run into conflicts commit 98f56aee675ef339acddfe44b195b3ca9d53ec0a Author: Xisco Fauli <[email protected]> AuthorDate: Tue Nov 26 13:30:36 2024 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Wed Nov 27 15:53:26 2024 +0100 libqxp: fix copy&paste path Since commit 05aedcba6672979d317b540bbfa74f5c9b409402 Author: Stephan Bergmann <[email protected]> Date: Thu Jan 21 23:19:20 2021 +0100 Fix use of -fvisibility=hidden with Clang in external/libcdr, external/libqxp Change-Id: Idb97eaea30f5a2b15379b18981455532de0308b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177330 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> (cherry picked from commit 174d1d3f3b57547c86ff858d1c2ed931eca3bb37) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177354 diff --git a/external/libqxp/UnpackedTarball_libqxp.mk b/external/libqxp/UnpackedTarball_libqxp.mk index 9f111bcb2b81..54d3e36addd4 100644 --- a/external/libqxp/UnpackedTarball_libqxp.mk +++ b/external/libqxp/UnpackedTarball_libqxp.mk @@ -17,7 +17,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libqxp,0)) $(eval $(call gb_UnpackedTarball_add_patches,libqxp, \ external/libqxp/android-workaround.patch.1 \ - external/libcdr/ax_gcc_func_attribute.m4.patch \ + external/libqxp/ax_gcc_func_attribute.m4.patch \ )) # vim: set noet sw=4 ts=4: commit 34d9b2211a0427ec6d7624759b26e1d32f4d94ff Author: Mike Kaganski <[email protected]> AuthorDate: Wed Nov 27 14:48:19 2024 +0500 Commit: Xisco Fauli <[email protected]> CommitDate: Wed Nov 27 15:09:38 2024 +0100 D2DWriteTextOutRenderer: use grayscale AA for file output It makes no sense to use ClearType for file output - because it, by definition, depends on the device and scale; and the file output is for display on unknown device and scale. Change-Id: Icf032b1fecc1a4a7f0a4be53797728c9f9505fdb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177402 Tested-by: Jenkins Reviewed-by: Mike Kaganski <[email protected]> (cherry picked from commit 785a56b6be7f3128c2e7a131381e02525a50eb6b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177416 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sd/qa/unit/PNGExportTests.cxx b/sd/qa/unit/PNGExportTests.cxx index a4f56d4daddc..26729feb1ae2 100644 --- a/sd/qa/unit/PNGExportTests.cxx +++ b/sd/qa/unit/PNGExportTests.cxx @@ -1040,8 +1040,8 @@ CPPUNIT_TEST_FIXTURE(SdPNGExportTest, testTdf162259) } } - CPPUNIT_ASSERT_GREATER(350, topNonWhites); // 399 in my testing - CPPUNIT_ASSERT_GREATER(350, bottomNonWhites); // 362 in my testing + CPPUNIT_ASSERT_GREATER(310, topNonWhites); // Win: 399 with Skia, 325 with DWriteTextRenderer + CPPUNIT_ASSERT_GREATER(350, bottomNonWhites); // Win: 362 with Skia, 371 with DWriteTextRenderer } CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/vcl/win/gdi/DWriteTextRenderer.cxx b/vcl/win/gdi/DWriteTextRenderer.cxx index 8a3ade545e36..06f927b725a6 100644 --- a/vcl/win/gdi/DWriteTextRenderer.cxx +++ b/vcl/win/gdi/DWriteTextRenderer.cxx @@ -101,7 +101,8 @@ D2DWriteTextOutRenderer::MODE D2DWriteTextOutRenderer::GetMode(bool bRenderingMo { D2D1_TEXT_ANTIALIAS_MODE eTextMode; if (!Application::GetSettings().GetStyleSettings().GetUseFontAAFromSystem()) - eTextMode = bAntiAlias ? lclGetSystemTextAntiAliasType() : D2D1_TEXT_ANTIALIAS_MODE_ALIASED; + // Currently only for file output - see GraphicExporter::filter + eTextMode = bAntiAlias ? D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE : D2D1_TEXT_ANTIALIAS_MODE_ALIASED; else if (BOOL bSmoothing; SystemParametersInfoW(SPI_GETFONTSMOOTHING, 0, &bSmoothing, 0)) eTextMode = bSmoothing ? lclGetSystemTextAntiAliasType() : D2D1_TEXT_ANTIALIAS_MODE_ALIASED; else commit 788fadea59b42ca429cb1c26e1b77a89ac1abb9a Author: Xisco Fauli <[email protected]> AuthorDate: Mon Nov 4 23:02:22 2024 +0100 Commit: Michael Stahl <[email protected]> CommitDate: Wed Nov 27 11:17:43 2024 +0100 libetonyek: upgrade to 0.1.12 Generated with: ./autogen.sh ./configure make dist-xz Change-Id: I74ac661c5f8db9abf7644212d98b29c3ec5b422f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176036 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> (cherry picked from commit 0a1025adeb3608b06df751225a97d84e5be87d48) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177342 Reviewed-by: Michael Stahl <[email protected]> diff --git a/download.lst b/download.lst index d2de689e6c7b..933c58d4af6a 100644 --- a/download.lst +++ b/download.lst @@ -105,8 +105,8 @@ EPUBGEN_TARBALL := libepubgen-0.1.1.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -ETONYEK_SHA256SUM := b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a -ETONYEK_VERSION_MICRO := 10 +ETONYEK_SHA256SUM := b9fa82fbeb8cb7a701101060e4f3e1e4ef7c38f574b2859d3ecbe43604c21f83 +ETONYEK_VERSION_MICRO := 12 ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz # three static lines # so that git cherry-pick diff --git a/external/libetonyek/0001-allow-0-size-message.patch.1 b/external/libetonyek/0001-allow-0-size-message.patch.1 deleted file mode 100644 index 62e584b815a0..000000000000 --- a/external/libetonyek/0001-allow-0-size-message.patch.1 +++ /dev/null @@ -1,30 +0,0 @@ -From 54762245feee35ce6885f7443da8f8443fccd5b5 Mon Sep 17 00:00:00 2001 -From: David Tardon <[email protected]> -Date: Wed, 26 May 2021 20:39:41 +0200 -Subject: [PATCH] allow 0-size message - -It likely means the input is broken, but there is no need to reject it. -Let's just produce a dummy, empty message. - -Change-Id: I03a1e9827f21f6a0ce69d7e16dfcf2e9a0f2d44f ---- - src/lib/IWAMessage.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/lib/IWAMessage.cpp b/src/lib/IWAMessage.cpp -index c01b1b6..9456444 100644 ---- a/src/lib/IWAMessage.cpp -+++ b/src/lib/IWAMessage.cpp -@@ -42,7 +42,8 @@ IWAMessage::IWAMessage(const RVNGInputStreamPtr_t &input, unsigned long length) - : m_input(input) - , m_fields() - { -- assert(length > 0); -+ if (length == 0) -+ return; - - parse(length); - } --- -2.31.1 - diff --git a/external/libetonyek/0001-fix-build-with-MSVC.patch.1 b/external/libetonyek/0001-fix-build-with-MSVC.patch.1 deleted file mode 100644 index 2a72844dc79a..000000000000 --- a/external/libetonyek/0001-fix-build-with-MSVC.patch.1 +++ /dev/null @@ -1,28 +0,0 @@ -From 1aa22c746b41a688296f4daf4fc35710d2045a33 Mon Sep 17 00:00:00 2001 -From: David Tardon <[email protected]> -Date: Wed, 19 May 2021 19:43:43 +0200 -Subject: [PATCH] fix build with MSVC - -error C2664: 'libetonyek::IWORKFormula::IWORKFormula(const boost::optional<unsigned int> &)': cannot convert argument 1 from 'int' to 'const boost::optional<unsigned int> &' - -Change-Id: Iaa3de2d0ef8f960495e5d5afebb75c5063955177 ---- - src/lib/IWAParser.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lib/IWAParser.cpp b/src/lib/IWAParser.cpp -index 7fd95c3..a2bd292 100644 ---- a/src/lib/IWAParser.cpp -+++ b/src/lib/IWAParser.cpp -@@ -3403,7 +3403,7 @@ bool IWAParser::parseFormula(const IWAMessage &msg, IWORKFormulaPtr_t &formula) - } - else - { -- formula.reset(new IWORKFormula(0)); -+ formula.reset(new IWORKFormula(boost::make_optional(0u))); - formula->parse(stack[0]); - } - return ok; --- -2.31.1 - diff --git a/external/libetonyek/0002-fix-build-with-MSVC.patch.1 b/external/libetonyek/0002-fix-build-with-MSVC.patch.1 deleted file mode 100644 index 0eadb0912f6a..000000000000 --- a/external/libetonyek/0002-fix-build-with-MSVC.patch.1 +++ /dev/null @@ -1,55 +0,0 @@ -From 7b69af66227309e9c258beca3bc3934be454a221 Mon Sep 17 00:00:00 2001 -From: David Tardon <[email protected]> -Date: Wed, 19 May 2021 21:11:40 +0200 -Subject: [PATCH] fix build with MSVC - -C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\xutility(138): error C2668: 'libetonyek::IWORKStyle::IWORKStyle': ambiguous call to overloaded function -C:-C:-C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\xutility(137): note: while trying to match the argument list '(libetonyek::IWORKPropertyMap, const boost::none_t, _Ty)' - with - [ - _Ty=nullptr - ] -C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\memory(2186): note: see reference to function template instantiation 'void std::_Construct_in_place<_Ty,libetonyek::IWORKPropertyMap&,const boost::none_t&,nullptr>(_Ty &,libetonyek::IWORKPropertyMap &,const boost::none_t &,nullptr &&) noexcept(false)' being compiled - with - [ - _Ty=libetonyek::IWORKStyle - ] -C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\memory(2906): note: see reference to function template instantiation 'std::_Ref_count_obj2<_Ty>::_Ref_count_obj2<libetonyek::IWORKPropertyMap&,const boost::none_t&,nullptr>(libetonyek::IWORKPropertyMap &,const boost::none_t &,nullptr &&)' being compiled - with - [ - _Ty=libetonyek::IWORKStyle - ] -C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\memory(2907): note: see reference to function template instantiation 'std::_Ref_count_obj2<_Ty>::_Ref_count_obj2<libetonyek::IWORKPropertyMap&,const boost::none_t&,nullptr>(libetonyek::IWORKPropertyMap &,const boost::none_t &,nullptr &&)' being compiled - with - [ - _Ty=libetonyek::IWORKStyle - ] -C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/libetonyek/src/lib/IWAParser.cpp(2358): note: see reference to function template instantiation 'std::shared_ptr<libetonyek::IWORKStyle> std::make_shared<libetonyek::IWORKStyle,libetonyek::IWORKPropertyMap&,const boost::none_t&,nullptr>(libetonyek::IWORKPropertyMap &,const boost::none_t &,nullptr &&)' being compiled - -Change-Id: Idf871474b2a20f252073846388d018cccc15bc11 ---- - src/lib/IWAParser.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/lib/IWAParser.cpp b/src/lib/IWAParser.cpp -index a2bd292..1fdeae7 100644 ---- a/src/lib/IWAParser.cpp -+++ b/src/lib/IWAParser.cpp -@@ -2355,10 +2355,10 @@ void IWAParser::parseAuthorInComment(unsigned id) - IWORKPropertyMap props; - // normally yellow, but blue may be better in LO - props.put<property::FontColor>(IWORKColor(0,0,1,1)); -- spans[0]=std::make_shared<IWORKStyle>(props, boost::none, nullptr); -+ spans[0]=std::make_shared<IWORKStyle>(props, boost::none, IWORKStylePtr_t()); - // reset color to default, if not, comment will be blue colored - props.put<property::FontColor>(IWORKColor(0,0,0,1)); -- spans[unsigned(len)]=std::make_shared<IWORKStyle>(props, boost::none, nullptr); -+ spans[unsigned(len)]=std::make_shared<IWORKStyle>(props, boost::none, IWORKStylePtr_t()); - text.setSpans(spans); - text.parse(*m_currentText); - } --- -2.31.1 - diff --git a/external/libetonyek/UnpackedTarball_libetonyek.mk b/external/libetonyek/UnpackedTarball_libetonyek.mk index 788cf7607710..e13737cbe6a8 100644 --- a/external/libetonyek/UnpackedTarball_libetonyek.mk +++ b/external/libetonyek/UnpackedTarball_libetonyek.mk @@ -19,12 +19,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,libetonyek,\ external/libetonyek/win_build.patch.1 \ external/libetonyek/ubsan.patch \ external/libetonyek/rpath.patch \ - external/libetonyek/warnings.patch \ - external/libetonyek/0001-fix-build-with-MSVC.patch.1 \ - external/libetonyek/0002-fix-build-with-MSVC.patch.1 \ - external/libetonyek/0001-allow-0-size-message.patch.1 \ external/libetonyek/enumarith.patch \ - external/libetonyek/include.patch \ )) ifneq ($(OS),MACOSX) diff --git a/external/libetonyek/include.patch b/external/libetonyek/include.patch deleted file mode 100644 index 4052d8093e0f..000000000000 --- a/external/libetonyek/include.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- src/lib/IWORKShape.cpp -+++ src/lib/IWORKShape.cpp -@@ -12,6 +12,7 @@ - #include <algorithm> - #include <cmath> - #include <deque> -+#include <iterator> - - #include <glm/glm.hpp> - #include <memory> diff --git a/external/libetonyek/warnings.patch b/external/libetonyek/warnings.patch deleted file mode 100644 index 841d70cb68e8..000000000000 --- a/external/libetonyek/warnings.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/lib/IWORKXMLContext.cpp -+++ src/lib/IWORKXMLContext.cpp -@@ -18,7 +18,7 @@ - { - } - --void IWORKXMLContext::CDATA(const char */*value*/) -+void IWORKXMLContext::CDATA(const char * /*value*/) - { - ETONYEK_DEBUG_MSG(("IWORKXMLContext::cData: find unexpected CDATA block ")); - }
