From 4a059ca013a6ed5d97d61508f10e80ab14ae45ad Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Oct 29 2014 17:16:03 +0000 Subject: Resolves: rhbz#1146169 a11y frame's label dies before frame --- diff --git a/0001-Resolves-rhbz-1146169-a11y-frames-label-dies-before-.patch b/0001-Resolves-rhbz-1146169-a11y-frames-label-dies-before-.patch new file mode 100644 index 0000000..a490b28 --- /dev/null +++ b/0001-Resolves-rhbz-1146169-a11y-frames-label-dies-before-.patch @@ -0,0 +1,53 @@ +From 1aa560ce6516556703e2ece183354f606b602897 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Wed, 29 Oct 2014 17:12:40 +0000 +Subject: [PATCH] Resolves: rhbz#1146169 a11y frames label dies before frame + +Change-Id: I2bc45dcb92b8e68bf4ae4df72c0fbd4e3b535604 +--- + include/vcl/layout.hxx | 1 + + vcl/source/window/layout.cxx | 13 ++++++++++++- + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx +index d758d63..8bad8e7 100644 +--- a/include/vcl/layout.hxx ++++ b/include/vcl/layout.hxx +@@ -458,6 +458,7 @@ private: + private: + friend class VclBuilder; + void designate_label(Window *pWindow); ++ DECL_LINK(WindowEventListener, VclSimpleEvent*); + public: + VclFrame(Window *pParent) + : VclBin(pParent) +diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx +index 06f387b..6db0f15 100644 +--- a/vcl/source/window/layout.cxx ++++ b/vcl/source/window/layout.cxx +@@ -1338,10 +1338,21 @@ void VclFrame::setAllocation(const Size &rAllocation) + setLayoutAllocation(*pChild, aChildPos, aAllocation); + } + ++IMPL_LINK(VclFrame, WindowEventListener, VclSimpleEvent*, pEvent) ++{ ++ if (pEvent && pEvent->GetId() == VCLEVENT_OBJECT_DYING) ++ designate_label(NULL); ++ return 0; ++} ++ + void VclFrame::designate_label(Window *pWindow) + { +- assert(pWindow->GetParent() == this); ++ assert(!pWindow || pWindow->GetParent() == this); ++ if (m_pLabel) ++ m_pLabel->RemoveEventListener(LINK(this, VclFrame, WindowEventListener)); + m_pLabel = pWindow; ++ if (m_pLabel) ++ m_pLabel->AddEventListener(LINK(this, VclFrame, WindowEventListener)); + } + + const Window *VclFrame::get_label_widget() const +-- +1.9.3 + diff --git a/libreoffice.spec b/libreoffice.spec index 0d0af05..4e7215d 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -36,7 +36,7 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 Version: %{libo_version}.2 -Release: 2%{?libo_prerelease}%{?dist} +Release: 3%{?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 Artistic and MPLv2.0 Group: Applications/Productivity URL: http://www.libreoffice.org/ @@ -312,6 +312,7 @@ Patch56: 0001-fdo-79604-sw-fix-clicking-on-hyper-links-in-Draw-obj.patch Patch57: 0001-Remove-smb-from-X-KDE-Protocols-lines.patch Patch58: 0001-InsertCurrentTime-in-input-mode-inherit-matching-for.patch Patch59: 0001-fdo-78921-Don-t-crash-when-there-is-no-storage-speci.patch +Patch60: 0001-Resolves-rhbz-1146169-a11y-frames-label-dies-before-.patch %define instdir %{_libdir} %define baseinstdir %{instdir}/libreoffice @@ -2253,6 +2254,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : %endif %changelog +* Wed Oct 29 2014 Caolán McNamara - 1:4.2.7.2-3 +- Resolves: rhbz#1146169 a11y frame's label dies before frame + * Tue Oct 28 2014 Caolán McNamara - 1:4.2.7.2-2 - drop slide centering on scroll attempt - Resolves: rhbz#1156664 crash on export to fodt with font embedding enabled