rhbz#1962262 sync with fedora 34

This commit is contained in:
Caolán McNamara 2021-06-01 15:56:49 +01:00
parent a6b7036472
commit e88d38b0e6
11 changed files with 1648 additions and 183 deletions

12
.gitignore vendored
View File

@ -6,9 +6,9 @@
/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
/libreoffice-multiliblauncher.sh
/dtoa-20180411.tgz
/libreoffice-7.1.2.2.tar.xz
/libreoffice-7.1.2.2.tar.xz.asc
/libreoffice-help-7.1.2.2.tar.xz
/libreoffice-help-7.1.2.2.tar.xz.asc
/libreoffice-translations-7.1.2.2.tar.xz
/libreoffice-translations-7.1.2.2.tar.xz.asc
/libreoffice-7.1.3.2.tar.xz
/libreoffice-7.1.3.2.tar.xz.asc
/libreoffice-help-7.1.3.2.tar.xz
/libreoffice-help-7.1.3.2.tar.xz.asc
/libreoffice-translations-7.1.3.2.tar.xz
/libreoffice-translations-7.1.3.2.tar.xz.asc

View File

@ -0,0 +1,26 @@
From 2382a2f6b4e84e3dc6c3b724b92dae8f991a76be Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Mon, 31 May 2021 13:30:37 +0200
Subject: [PATCH] Adapt to hamcrest-2.2-3.fc35.noarch.rpm
Change-Id: Ibddfc30a5f0828ab77235ec1155f1c2e1eef24ee
---
configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure.ac b/configure.ac
index 43fb8d877515..07954b2c3262 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13427,6 +13427,8 @@ if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no" -a "$cross_compiling" != "
HAMCREST_JAR=/usr/share/lib/java/hamcrest.jar
elif test -e /usr/share/java/hamcrest/core.jar; then
HAMCREST_JAR=/usr/share/java/hamcrest/core.jar
+ elif test -e /usr/share/java/hamcrest/hamcrest.jar; then
+ HAMCREST_JAR=/usr/share/java/hamcrest/hamcrest.jar
else
HAMCREST_JAR=/usr/share/java/hamcrest.jar
fi
--
2.31.1

View File

@ -0,0 +1,80 @@
From 4f85b6ec5964e2d9747f6743f9adc6ef1f951e4a Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Wed, 5 May 2021 08:20:18 +0200
Subject: [PATCH] Adapt to "libstdc++: Implement LWG 1203 for rvalue iostreams"
<https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=aa475c4ac80733f85ba47b109fc1900f05e810e2>
towards GCC 12, so that now "the return type is the original rvalue stream type
not its base class." (And which would thus have caused issues like
> sfx2/source/control/bindings.cxx:1323:19: error: dynamic_cast from rvalue to reference type '::std::ostringstream &' (aka 'basic_ostringstream<char> &')
> ? SAL_STREAM("File: " << pFile << " Line: " << nLine) : ""));
> ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/sal/log.hxx:198:6: note: expanded from macro 'SAL_STREAM'
> (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream).str())
> ^
> include/sal/log.hxx:341:20: note: expanded from macro 'SAL_INFO'
> SAL_WHERE, stream)
> ~~~~~~~~~~~^~~~~~~
> include/sal/log.hxx:155:68: note: expanded from macro 'SAL_DETAIL_LOG_STREAM'
> SAL_DETAIL_LOG_STREAM_PRIVATE_(level, area, where, stream); \
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
> include/sal/log.hxx:133:45: note: expanded from macro 'SAL_DETAIL_LOG_STREAM_PRIVATE_'
> ::sal::detail::StreamStart() << stream) == 1) \
> ^~~~~~
now. While the issue with old libstdc++ that originally prompted the
dynamic_cast was
> sfx2/source/control/bindings.cxx:1323:19: error: no member named 'str' in 'std::basic_ostream<char>'
> ? SAL_STREAM("File: " << pFile << " Line: " << nLine) : ""));
> ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/sal/log.hxx:194:40: note: expanded from macro 'SAL_STREAM'
> (::std::ostringstream() << stream).str()
> ^
> include/sal/log.hxx:336:20: note: expanded from macro 'SAL_INFO'
> SAL_WHERE, stream)
> ~~~~~~~~~~~^~~~~~~
> include/sal/log.hxx:155:68: note: expanded from macro 'SAL_DETAIL_LOG_STREAM'
> SAL_DETAIL_LOG_STREAM_PRIVATE_(level, area, where, stream); \
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
> include/sal/log.hxx:133:45: note: expanded from macro 'SAL_DETAIL_LOG_STREAM_PRIVATE_'
> ::sal::detail::StreamStart() << stream) == 1) \
> ^~~~~~
.)
The libstdc++ macro _GLIBCXX_RELEASE is reportedly available since GCC 7.1.
Change-Id: I1ee6eabb66355c1f28b9d305cbd85bac50d6b0e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115121
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit 1f3dddd6f21d91c429190ae314dadeec409f35f4, plus
follow-up 95e26d3dce4f5a3b2d010d5ca47b4e450905a100 "tdf#142326: Adapt to
'libstdc++: Implement LWG 1203 for rvalue iostreams'")
Change-Id: I7c8fef25e15fcfa9b83924467dc86dc2957fbd7d
---
include/sal/log.hxx | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/sal/log.hxx b/include/sal/log.hxx
index 6bb0d1b43d3d..a0fa902dbce6 100644
--- a/include/sal/log.hxx
+++ b/include/sal/log.hxx
@@ -186,7 +186,10 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER StreamIgnore const &) {
@since LibreOffice 3.5
*/
-#if defined _LIBCPP_VERSION || (defined _MSC_VER && _MSC_VER >= 1915)
+#if defined _LIBCPP_VERSION \
+ || (defined _GLIBCXX_RELEASE \
+ && (_GLIBCXX_RELEASE >= 12 || (_GLIBCXX_RELEASE == 11 && __GLIBCXX__ > 20210428))) \
+ || (defined _MSC_VER && _MSC_VER >= 1915)
#define SAL_STREAM(stream) \
(::std::ostringstream() << stream).str()
#else
--
2.31.1

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,42 @@
From f4e496af66bc6a779f600158cc42b986d654f143 Mon Sep 17 00:00:00 2001
From: Julien Nabet <serval2412@yahoo.fr>
Date: Mon, 14 Dec 2020 19:45:22 +0100
Subject: [PATCH] Related tdf#138888: fix assertion on avmedia/MediaControlBase
Assertion when trying to insert a video in Impress, see bt:
https://bugs.documentfoundation.org/attachment.cgi?id=168161
According to https://en.cppreference.com/w/cpp/algorithm/clamp
"behavior is undefined if the value of lo is greater than hi"
Regression from:
commit 36b3b357fe2a882db6a5f5a006239e16200fb847
Author: Noel <noelgrandin@gmail.com>
Date: Thu Nov 12 16:10:56 2020 +0200
replace std::min(std::max()) with std::clamp
Change-Id: Idf33eb6c662b60174678f990f98aefc72edec2a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107722
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
---
avmedia/source/framework/MediaControlBase.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/avmedia/source/framework/MediaControlBase.cxx b/avmedia/source/framework/MediaControlBase.cxx
index ef92cce8a736..890bb04d805b 100644
--- a/avmedia/source/framework/MediaControlBase.cxx
+++ b/avmedia/source/framework/MediaControlBase.cxx
@@ -64,7 +64,7 @@ void MediaControlBase::UpdateVolumeSlider( MediaItem const & aMediaItem )
{
mxVolumeSlider->set_sensitive(true);
const sal_Int32 nVolumeDB = aMediaItem.getVolumeDB();
- mxVolumeSlider->set_value( std::clamp( nVolumeDB, sal_Int32(0), AVMEDIA_DB_RANGE ) );
+ mxVolumeSlider->set_value( std::clamp( nVolumeDB, AVMEDIA_DB_RANGE, sal_Int32(0)) );
}
}
--
2.31.1

View File

@ -1,43 +0,0 @@
From 2beb3922391ae1a6f1d26128d82c0e34cb963af3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 23 Mar 2021 14:55:09 +0000
Subject: [PATCH] Related: tdf#141197 critical a11y warning
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
** (soffice:19098): CRITICAL **: 13:44:40.365:
AtkObject* atk_object_wrapper_ref(const com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>&, bool):
assertion 'bool(rxAccessible)' failed
probably since...
commit cbc18cc904c652a936c4b68fba4d975bd89b5abd
Date: Mon Nov 23 21:03:28 2020 +0100
tdf#138425 vcl/gtk activate main menu in UpdateFull
Change-Id: Ieb181e02bb0d2a907aec8534349ec2a80fd9c7e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113000
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
---
vcl/source/window/menu.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 4fb964f2f008..233f531cfcaf 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -1303,7 +1303,7 @@ css::uno::Reference<css::accessibility::XAccessible> Menu::GetAccessible()
// Since PopupMenu are sometimes shared by different instances of MenuBar, the mxAccessible member gets
// overwritten and may contain a disposed object when the initial menubar gets set again. So use the
// mxAccessible member only for sub menus.
- if ( pStartedFrom )
+ if (pStartedFrom && pStartedFrom != this)
{
for ( sal_uInt16 i = 0, nCount = pStartedFrom->GetItemCount(); i < nCount; ++i )
{
--
2.30.2

View File

@ -0,0 +1,118 @@
From b06e5e2b9761d242d9269b091da9a98ec705d2b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 1 Jun 2021 13:20:43 +0100
Subject: [PATCH] gtk3: workaround missing gdk_threads_enter calls in external
code
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
with gtk3 file dialog. file, open, +other locations,
type davs://somewhere + return
#0 0x00007ffff7a6e2a2 in raise () at /lib64/libc.so.6
#1 0x00007ffff7a578a4 in abort () at /lib64/libc.so.6
#2 0x00007ffff7a57789 in _nl_load_domain.cold () at /lib64/libc.so.6
#3 0x00007ffff7a66a16 in () at /lib64/libc.so.6
#4 0x00007fffd9be7672 in GtkYieldMutex::ThreadsLeave() (this=0x513480) at vcl/unx/gtk3/gtkinst.cxx:354
#5 0x00007fffd9be6a53 in GdkThreadsLeave() () at vcl/unx/gtk3/gtkinst.cxx:116
#6 0x00007fffd947ac2d in gtk_dialog_run (dialog=0xa984310) at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkdialog.c:1397
^^^ this also (see #30) calls gdk_threads_leave before g_main_loop_run, but no gdk_threads_enter has been called, presumably emit_show_error_message should have called it (?) ^^^
#7 0x00007fffd94a6dc6 in error_message_with_parent (detail=0xa97f9b0 "HTTP Error: Error resolving “nowhere”: Name or service not known", msg=<optimized out>, parent=<optimized out>)
at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkfilechooserwidget.c:763
#8 error_message (impl=<optimized out>, msg=<optimized out>, detail=0xa97f9b0 "HTTP Error: Error resolving “nowhere”: Name or service not known") at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkfilechooserwidget.c:786
#9 0x00007fffe996ec2f in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#10 0x00007fffe998aea6 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#11 0x00007fffe998c76a in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#12 0x00007fffe998c983 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#13 0x00007fffd9561fc7 in emit_show_error_message (secondary_message=0x7fffbc0566f0 "HTTP Error: Error resolving “nowhere”: Name or service not known", primary_message=<optimized out>, view=0x900a240)
at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkplacesview.c:171
#14 server_mount_ready_cb (source_file=0x7fffbc05b4c0, res=<optimized out>, user_data=0x900a240) at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkplacesview.c:1232
#15 0x00007fffe9a64a7a in g_task_return_now () at /lib64/libgio-2.0.so.0
#16 0x00007fffe9a64c7b in g_task_return () at /lib64/libgio-2.0.so.0
#17 0x00007fffd80653b8 in mount_reply () at /usr/lib64/gio/modules/libgvfsdbus.so
#18 0x00007fffe9a64a7a in g_task_return_now () at /lib64/libgio-2.0.so.0
#19 0x00007fffe9a64c7b in g_task_return () at /lib64/libgio-2.0.so.0
#20 0x00007fffe9acd2dd in reply_cb () at /lib64/libgio-2.0.so.0
#21 0x00007fffe9a64a7a in g_task_return_now () at /lib64/libgio-2.0.so.0
#22 0x00007fffe9a64c7b in g_task_return () at /lib64/libgio-2.0.so.0
#23 0x00007fffe9ac4c34 in g_dbus_connection_call_done () at /lib64/libgio-2.0.so.0
#24 0x00007fffe9a64a7a in g_task_return_now () at /lib64/libgio-2.0.so.0
#25 0x00007fffe9a64abd in complete_in_idle_cb () at /lib64/libgio-2.0.so.0
#26 0x00007fffe987074b in g_idle_dispatch () at /lib64/libglib-2.0.so.0
#27 0x00007fffe98744cf in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#28 0x00007fffe98c84e8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#29 0x00007fffe9873a93 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#30 0x00007fffd947ac37 in gtk_dialog_run (dialog=0x1604460) at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkdialog.c:1398
^^^ this will call gdk_threads_leave before g_main_loop_run, (gdk_threads_enter has been called earlier, and gdk_threads_enter will be called after g_main_loop_run) ^^^
#31 0x00007fffd9bdbd96 in RunDialog::run() (this=0x9134f00) at vcl/unx/gtk3/fpicker/SalGtkPicker.cxx:199
#32 0x00007fffd9bbf23f in SalGtkFilePicker::execute() (this=0x9004690) at vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:953
#33 0x00007ffff474741a in sfx2::FileDialogHelper_Impl::implDoExecute() (this=0x1667470) at sfx2/source/dialog/filedlghelper.cxx:1279
#14 presumably server_mount_ready_cb of gtkplacesview.c should protect its gtk
calls with gdk_threads_enter/gdk_threads_leave like enclosing_volume_mount_cb
of gtkfilesystem.c does.
Seeing as gdk_threads_leave/gdk_threads_enter is gone in gtk4 I doubt
there's any point looking for a fix in gtk3 and we should just try and
survive the problem.
Change-Id: I007be4dee4f615d4431e27034dcf7f3d446c3e9a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116559
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 08b7529f628eda1d209cf27f9bbe52ee336fef62)
---
vcl/unx/gtk3/gtk3gtkinst.cxx | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 2d4dc36ce5fe..bba4e07f3003 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -314,20 +314,34 @@ thread_local std::stack<sal_uInt32> GtkYieldMutex::yieldCounts;
void GtkYieldMutex::ThreadsEnter()
{
acquire();
- if (!yieldCounts.empty()) {
- auto n = yieldCounts.top();
- yieldCounts.pop();
- assert(n > 0);
- n--;
- if (n > 0)
- acquire(n);
+ if (yieldCounts.empty())
+ return;
+ auto n = yieldCounts.top();
+ yieldCounts.pop();
+
+ const bool bUndoingLeaveWithoutEnter = n == 0;
+ // if the ThreadsLeave bLeaveWithoutEnter of true condition occurred to
+ // create this entry then return early undoing the initial acquire of the
+ // function
+ if G_UNLIKELY(bUndoingLeaveWithoutEnter)
+ {
+ release();
+ return;
}
+
+ assert(n > 0);
+ n--;
+ if (n > 0)
+ acquire(n);
}
void GtkYieldMutex::ThreadsLeave()
{
- assert(m_nCount != 0);
+ const bool bLeaveWithoutEnter = m_nCount == 0;
+ SAL_WARN_IF(bLeaveWithoutEnter, "vcl.gtk", "gdk_threads_leave without matching gdk_threads_enter");
yieldCounts.push(m_nCount);
+ if G_UNLIKELY(bLeaveWithoutEnter) // this ideally shouldn't happen, but can due to the gtk3 file dialog
+ return;
release(true);
}
--
2.31.1

View File

@ -0,0 +1,42 @@
From fd87193917a26437ffd6ce08a33bb22e7b7353fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 4 May 2021 21:04:40 +0100
Subject: [PATCH] rhbz#1956977 crash on switch from active comment to slide
sorter
Change-Id: I2b5a5cb8b0631971b775a70d96f2cbf0c118c090
---
sd/source/ui/annotations/annotationmanager.cxx | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/sd/source/ui/annotations/annotationmanager.cxx b/sd/source/ui/annotations/annotationmanager.cxx
index 155862469313..898eb201d78e 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -947,10 +947,13 @@ IMPL_LINK_NOARG(AnnotationManagerImpl, UpdateTagsHdl, void*, void)
void AnnotationManagerImpl::CreateTags()
{
-
if( !(mxCurrentPage.is() && mpDoc) )
return;
+ auto xViewShell = mrBase.GetMainViewShell();
+ if (!xViewShell)
+ return;
+
try
{
int nIndex = 1;
@@ -963,7 +966,7 @@ void AnnotationManagerImpl::CreateTags()
{
Reference< XAnnotation > xAnnotation( xEnum->nextElement() );
Color aColor( GetColorLight( mpDoc->GetAnnotationAuthorIndex( xAnnotation->getAuthor() ) ) );
- rtl::Reference< AnnotationTag > xTag( new AnnotationTag( *this, *mrBase.GetMainViewShell()->GetView(), xAnnotation, aColor, nIndex++, maFont ) );
+ rtl::Reference< AnnotationTag > xTag( new AnnotationTag( *this, *xViewShell->GetView(), xAnnotation, aColor, nIndex++, maFont ) );
maTagVector.push_back(xTag);
if( xAnnotation == mxSelectedAnnotation )
--
2.31.1

View File

@ -1,120 +0,0 @@
From 26ff4db374438a230f1670ab12d88f7f54075127 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 24 Mar 2021 11:33:42 +0000
Subject: [PATCH] tdf#141197 if we have a sysobj child then include that in the
atk hierarchy
this also should make the case of an embedded video visible in the atk
hierarchy as well as the target of the native gtk widgets in a vcl
window container in the startcenter
Change-Id: Ia91439cbccbffbb0badbfb466f7ab6d1ccbfe3ae
---
vcl/Library_vclplug_gtk3.mk | 1 +
vcl/Library_vclplug_gtk3_kde5.mk | 1 +
vcl/unx/gtk3/a11y/atkwrapper.hxx | 1 +
vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx | 28 ++++++++++++++++++++++++++++
4 files changed, 31 insertions(+)
diff --git a/vcl/Library_vclplug_gtk3.mk b/vcl/Library_vclplug_gtk3.mk
index 9e67d5efc265..317152b59fe9 100644
--- a/vcl/Library_vclplug_gtk3.mk
+++ b/vcl/Library_vclplug_gtk3.mk
@@ -36,6 +36,7 @@ $(eval $(call gb_Library_set_include,vclplug_gtk3,\
$(eval $(call gb_Library_add_defs,vclplug_gtk3,\
-DVCLPLUG_GTK_IMPLEMENTATION \
+ -DVCL_INTERNALS \
))
$(eval $(call gb_Library_use_custom_headers,vclplug_gtk3,\
diff --git a/vcl/Library_vclplug_gtk3_kde5.mk b/vcl/Library_vclplug_gtk3_kde5.mk
index 51dafda097be..602be3d13b45 100644
--- a/vcl/Library_vclplug_gtk3_kde5.mk
+++ b/vcl/Library_vclplug_gtk3_kde5.mk
@@ -41,6 +41,7 @@ $(eval $(call gb_Library_add_cxxflags,vclplug_gtk3_kde5,\
$(eval $(call gb_Library_add_defs,vclplug_gtk3_kde5,\
-DVCLPLUG_GTK_IMPLEMENTATION -DVCLPLUG_GTK3_KDE5_IMPLEMENTATION \
+ -DVCL_INTERNALS \
))
$(eval $(call gb_Library_use_custom_headers,vclplug_gtk3_kde5,\
diff --git a/vcl/unx/gtk3/a11y/atkwrapper.hxx b/vcl/unx/gtk3/a11y/atkwrapper.hxx
index d9c651a2eae8..0fcbce6369fd 100644
--- a/vcl/unx/gtk3/a11y/atkwrapper.hxx
+++ b/vcl/unx/gtk3/a11y/atkwrapper.hxx
@@ -46,6 +46,7 @@ struct AtkObjectWrapper
{
AtkObject aParent;
AtkObject* mpOrig; //if we're a GtkDrawingArea acting as a custom LibreOffice widget, this is the toolkit default impl
+ AtkObject* mpSysObjChild; //if we're a container for a sysobj, then this is the sysobj native gtk AtkObject
css::uno::Reference<css::accessibility::XAccessible> mpAccessible;
css::uno::Reference<css::accessibility::XAccessibleContext> mpContext;
diff --git a/vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx b/vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx
index 2442e6ab665d..56bc8717d0fb 100644
--- a/vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx
+++ b/vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx
@@ -40,9 +40,13 @@
#include <com/sun/star/accessibility/XAccessibleImage.hpp>
#include <com/sun/star/accessibility/XAccessibleHypertext.hpp>
#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
+#include <com/sun/star/awt/XWindow.hpp>
#include <rtl/strbuf.hxx>
#include <osl/diagnose.h>
+#include <vcl/syschild.hxx>
+#include <vcl/sysdata.hxx>
+#include <vcl/toolkit/unowrap.hxx>
#include "atkwrapper.hxx"
#include "atkregistry.hxx"
@@ -406,6 +410,10 @@ static gint
wrapper_get_n_children( AtkObject *atk_obj )
{
AtkObjectWrapper *obj = ATK_OBJECT_WRAPPER (atk_obj);
+
+ if (obj->mpSysObjChild)
+ return 1;
+
gint n = 0;
if( obj->mpContext.is() )
@@ -428,6 +436,13 @@ wrapper_ref_child( AtkObject *atk_obj,
gint i )
{
AtkObjectWrapper *obj = ATK_OBJECT_WRAPPER (atk_obj);
+
+ if (obj->mpSysObjChild)
+ {
+ g_object_ref(obj->mpSysObjChild);
+ return obj->mpSysObjChild;
+ }
+
AtkObject* child = nullptr;
// see comments above atk_object_wrapper_remove_child
@@ -874,6 +889,19 @@ atk_object_wrapper_new( const css::uno::Reference< css::accessibility::XAccessib
}
}
+ // tdf#141197 if we have a sysobj child then include that in the hierarchy
+ if (UnoWrapperBase* pWrapper = UnoWrapperBase::GetUnoWrapper())
+ {
+ css::uno::Reference<css::awt::XWindow> xAWTWindow(rxAccessible, css::uno::UNO_QUERY);
+ VclPtr<vcl::Window> xWindow = pWrapper->GetWindow(xAWTWindow);
+ if (xWindow && xWindow->GetType() == WindowType::SYSTEMCHILDWINDOW)
+ {
+ const SystemEnvData* pEnvData = static_cast<SystemChildWindow*>(xWindow.get())->GetSystemData();
+ if (GtkWidget *pSysObj = pEnvData ? static_cast<GtkWidget*>(pEnvData->pWidget) : nullptr)
+ pWrap->mpSysObjChild = gtk_widget_get_accessible(pSysObj);
+ }
+ }
+
return ATK_OBJECT( pWrap );
}
catch (const uno::Exception &)
--
2.30.2

View File

@ -1,5 +1,5 @@
# download path contains version without the last (fourth) digit
%global libo_version 7.1.2
%global libo_version 7.1.3
# Should contain .alphaX / .betaX, if this is pre-release (actually
# pre-RC) version. The pre-release string is part of tarball file names,
# so we need a way to define it easily at one place.
@ -50,7 +50,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.2
Release: 3%{?libo_prerelease}%{?dist}
Release: 1%{?libo_prerelease}%{?dist}
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0
URL: http://www.libreoffice.org/
@ -121,6 +121,7 @@ BuildRequires: zip
# libs / headers - common
BuildRequires: %{libo_python}-devel
BuildRequires: %{libo_python}-setuptools
BuildRequires: Box2D-devel
BuildRequires: boost-devel
BuildRequires: cups-devel
@ -248,8 +249,12 @@ Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch
# backported
Patch3: 0001-fix-detecting-qrcodegen.patch
Patch4: 0001-rhbz-1918152-fix-FTBFS.patch
Patch5: 0001-Related-tdf-141197-critical-a11y-warning.patch
Patch6: 0001-tdf-141197-if-we-have-a-sysobj-child-then-include-th.patch
Patch5: 0001-Get-rid-of-apache-commons-logging.patch
Patch6: 0001-rhbz-1956977-crash-on-switch-from-active-comment-to-.patch
Patch7: 0001-Related-tdf-138888-fix-assertion-on-avmedia-MediaCon.patch
Patch8: 0001-Adapt-to-libstdc-Implement-LWG-1203-for-rvalue-iostr.patch
Patch9: 0001-Adapt-to-hamcrest-2.2-3.fc35.noarch.rpm.patch
Patch10: 0001-gtk3-workaround-missing-gdk_threads_enter-calls-in-e.patch
# not upstreamed
Patch500: 0001-disable-libe-book-support.patch
@ -828,6 +833,7 @@ Rules for auto-correcting common %{langname} typing errors. \
%langpack -l fa -n Farsi -A -H -Y -s ctl -X
%langpack -l fi -n Finnish -F -r libreoffice-voikko -A -T -X
%langpack -l fr -n French -F -H -Y -M -A -T -X
%langpack -l fy -n Frisian -F -H -X
%langpack -l ga -n Irish -F -H -Y -M -A -X
%langpack -l gl -n Galician -F -H -Y -T -X
%langpack -l gu -n Gujarati -F -H -Y -s ctl -T -X
@ -1064,10 +1070,7 @@ SMP_MFLAGS=%{?_smp_mflags}
SMP_MFLAGS=$[${SMP_MFLAGS/-j/}]
%if 0%{?flatpak}
%global flatpakoptions --with-beanshell-jar=/app/share/java/bsh.jar --with-commons-logging-jar=/app/share/java/commons-logging.jar --with-external-dict-dir=/app/share/myspell --with-external-hyph-dir=/app/share/hyphen --with-external-thes-dir=/app/share/mythes --with-flute-jar=/app/share/java/flute.jar --with-jdk-home=/app/lib/jvm/java --with-jfreereport-jar=/app/share/java/flow-engine.jar --with-libbase-jar=/app/share/java/libbase.jar --with-libfonts-jar=/app/share/java/libfonts.jar --with-libformula-jar=/app/share/java/libformula.jar --with-liblayout-jar=/app/share/java/liblayout.jar --with-libloader-jar=/app/share/java/libloader.jar --with-librepository-jar=/app/share/java/librepository.jar --with-libserializer-jar=/app/share/java/libserializer.jar --with-libxml-jar=/app/share/java/libxml.jar --with-sac-jar=/app/share/java/sac.jar FIREBIRDCONFIG=%{_libdir}/fb_config QT4INC=%{_includedir}
%if 0%{?rhel}
%global flatpakoptions %{flatpakoptions} --with-boost-libdir=%{_libdir}
%endif
%define flatpakoptions --with-beanshell-jar=/app/share/java/bsh.jar --with-boost-libdir=%{_libdir} --with-external-dict-dir=/app/share/myspell --with-external-hyph-dir=/app/share/hyphen --with-external-thes-dir=/app/share/mythes --with-flute-jar=/app/share/java/flute.jar --with-jdk-home=/app/lib/jvm/java --with-jfreereport-jar=/app/share/java/flow-engine.jar --with-libbase-jar=/app/share/java/libbase.jar --with-libfonts-jar=/app/share/java/libfonts.jar --with-libformula-jar=/app/share/java/libformula.jar --with-liblayout-jar=/app/share/java/liblayout.jar --with-libloader-jar=/app/share/java/libloader.jar --with-librepository-jar=/app/share/java/librepository.jar --with-libserializer-jar=/app/share/java/libserializer.jar --with-libxml-jar=/app/share/java/libxml.jar --with-sac-jar=/app/share/java/sac.jar FIREBIRDCONFIG=%{_libdir}/fb_config QT4INC=%{_includedir}
%endif
# TODO: enable coinmp?
@ -2237,6 +2240,15 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || :
%{_includedir}/LibreOfficeKit
%changelog
* Thu May 06 2021 Caolán McNamara <caolanm@redhat.com> - 1:7.1.3.2-1
- Resolves: rhbz#1962262 Get rid of apache-commons-logging
- Impress crashes on switch from commenting to slide sorter
- fix assertion on avmedia volumne control
- build libreoffice-langpack-fy for libreoffice
- Adapt to "libstdc++: Implement LWG 1203 for rvalue iostreams"
- Adapt to hamcrest-2.2-3.fc35.noarch.rpm
- gtk3: workaround missing gdk_threads_enter calls in gio errordialog callback
* Wed May 12 2021 Caolán McNamara <caolanm@redhat.com> - 1:7.1.2.2-3
- Resolves: rhbz#1958290 rebuild for poppler ABI Change

12
sources
View File

@ -7,9 +7,9 @@ SHA512 (0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz) = b9c02d63e9b47a838d
SHA512 (f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf) = 6a6d131dad5191614950a49323ae6d9385afe331983c1c85fde82ce6ee816051d95dde9ef90658b8f0a8a0a21754e72ff724bf41f6b96c046b7b4c2660f7095b
SHA512 (libreoffice-multiliblauncher.sh) = db532afdf5000bc66f9e02c7d0ab586468466f63f8f0bdb204832581e8277c5c59f688fa096548d642411cb8c46e8de4a744676b4e624c075262cfd6945138cd
SHA512 (dtoa-20180411.tgz) = 722aa814c33a34bfffe6c0201b0035cc3b65854a0ba9ae2f51620a89d68019353e2c306651b35bca337186b22b2e9865ef3c5e3df8e9328006f882e4577f8c85
SHA512 (libreoffice-7.1.2.2.tar.xz) = 0e4cc2417943fcfaf84b513f6ee781a4f75d5c42804fa98c5499ec6d461be04bf68ca1f8f92952863ba3765d7e2894e77f78aa1f532b67649e31154683767297
SHA512 (libreoffice-7.1.2.2.tar.xz.asc) = 076a5d1db56b989bf81c5bc62f0177ce73fae69b11f773ede463f827ae1021dcf1723ca000d1feb250b7ff8efc77d6f37dcae8544368062afcc27b0ea6fca9ed
SHA512 (libreoffice-help-7.1.2.2.tar.xz) = 571db9a2fb3410ea6e86e5000f78648acb1f581a94cb0d2021a174116c44194c68749a875624aa042985630d83b44f312a6275524e8cd57f66678c6a1f8ec22e
SHA512 (libreoffice-help-7.1.2.2.tar.xz.asc) = 9c7c8cee35bc451ac3a00e082d81b3a0db8fe9682352357f20f57db4d929b115db426868d08092229bb5d0f480508096f960127098c91b76a89fe1c5695cc105
SHA512 (libreoffice-translations-7.1.2.2.tar.xz) = 804d389374df10c011b8637ddd124b809198172a9adeb2a50c7e9d7ed6e9f40eed0bcdcb4e2c3497756d953038e24665260d2fa3f312acdd9709046d93cf18e0
SHA512 (libreoffice-translations-7.1.2.2.tar.xz.asc) = 132189ee9612830f911dc8613c5f23b034bfdac6f0a9745e620ec78a4d2ce0e484197fbcd0e4fea9ea99707ffac40ab8c554836ba6b8ab76acc5aa9b10971dfe
SHA512 (libreoffice-7.1.3.2.tar.xz) = d7329475cad5bece9358b29bc590da1841c3c0b4aef511508d9398519c514fa176c90675857f1830925818f2dcc8b9c0986e5d34d3a33cce617e4ada23c60a72
SHA512 (libreoffice-7.1.3.2.tar.xz.asc) = 9952bef51e851cd0b2601dce06304885cb9e53924641c5bf21f64ddd0c63c48c4be9223282640cb1fb84976be27e74e587781177c2155369017d3ad92147e4da
SHA512 (libreoffice-help-7.1.3.2.tar.xz) = 576dbea391777a907275b630ed704dd3d9ad0627f8a18da1cbd23fe28df04c3a509583c2404f810df3aaac15ef0881e2c1e0a55c9f31618715586628873367eb
SHA512 (libreoffice-help-7.1.3.2.tar.xz.asc) = 0c1a2280b855cc06d5698ff36448dbe9379bf84a2c3acbb755ff4f69de145b1909dd38ab7dc5498b29687841a101b9cd87e1a00f3abdc03b9015ebda8b28e454
SHA512 (libreoffice-translations-7.1.3.2.tar.xz) = df320e5c41e94c08847b1f504461f6dcd11bc9c301ec0e219fead05a24982c0946e98263320c53357f89e8497e56871da071fff41f780f4ae8bf45859a88b34d
SHA512 (libreoffice-translations-7.1.3.2.tar.xz.asc) = 7562148d64429a035c0d54973ed041e4623c181aa6f65a16448f14efa84b4ef36f3f8abb8cddf28cd47ba540f314d48d98f02a0fde2b0f269d180861c9c54637