[libreoffice/f20] Resolves: rhbz#1164614 xslt dialog crashes if there are no entries

Caolán McNamara caolanm at fedoraproject.org
Mon Dec 8 10:04:42 UTC 2014


commit ab9a731b4a0f9c8f517ab2e62cec3aa9efbb287a
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Dec 8 10:04:49 2014 +0000

    Resolves: rhbz#1164614 xslt dialog crashes if there are no entries

 ...bz-1164614-xslt-dialog-crashes-if-there-a.patch |   60 ++++++++++++++++++++
 libreoffice.spec                                   |    4 +-
 2 files changed, 63 insertions(+), 1 deletions(-)
---
diff --git a/0001-Resolves-rhbz-1164614-xslt-dialog-crashes-if-there-a.patch b/0001-Resolves-rhbz-1164614-xslt-dialog-crashes-if-there-a.patch
new file mode 100644
index 0000000..476c5e0
--- /dev/null
+++ b/0001-Resolves-rhbz-1164614-xslt-dialog-crashes-if-there-a.patch
@@ -0,0 +1,60 @@
+From aa99cd6187c29bd958d4effaafce4d3a12fa31c0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm at redhat.com>
+Date: Mon, 8 Dec 2014 09:56:33 +0000
+Subject: [PATCH] Resolves: rhbz#1164614 xslt dialog crashes if there are no
+ entries
+
+Change-Id: Id7d967389cbc9f8ae120749bbe1c79bbbe46b212
+---
+ filter/source/xsltdialog/xmlfiltersettingsdialog.cxx | 15 +++++++++++++++
+ filter/source/xsltdialog/xmlfiltersettingsdialog.hxx |  1 +
+ 2 files changed, 16 insertions(+)
+
+diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+index 8d85688..e698688 100644
+--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
++++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+@@ -1355,6 +1355,16 @@ SvxPathControl::SvxPathControl(Window* pParent)
+ #define ITEMID_NAME     1
+ #define ITEMID_TYPE     2
+ 
++Size SvxPathControl::GetOptimalSize() const
++{
++    Size aDefSize(LogicToPixel(Size(150, 0), MapMode(MAP_APPFONT)));
++    Size aOptSize(VclVBox::GetOptimalSize());
++    long nRowHeight(GetTextHeight());
++    aOptSize.Height() = nRowHeight * 10;
++    aOptSize.Width() = std::max(aDefSize.Width(), aOptSize.Width());
++    return aOptSize;
++}
++
+ void SvxPathControl::setAllocation(const Size &rAllocation)
+ {
+     VclVBox::setAllocation(rAllocation);
+@@ -1366,6 +1376,11 @@ void SvxPathControl::setAllocation(const Size &rAllocation)
+     {
+         std::vector<long> aWidths;
+         m_pFocusCtrl->getPreferredDimensions(aWidths);
++        if (aWidths.empty())
++        {
++            bHasBeenShown = false;
++            return;
++        }
+         long nFirstColumnWidth = aWidths[1];
+         m_pHeaderBar->SetItemSize(ITEMID_NAME, nFirstColumnWidth);
+         m_pHeaderBar->SetItemSize(ITEMID_TYPE, 0xFFFF);
+diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
+index 7fbd362..86828af 100644
+--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
++++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
+@@ -44,6 +44,7 @@ private:
+     HeaderBar* m_pHeaderBar;
+     XMLFilterListBox* m_pFocusCtrl;
+ protected:
++    virtual Size GetOptimalSize() const SAL_OVERRIDE;
+     virtual void setAllocation(const Size &rAllocation) SAL_OVERRIDE;
+ public:
+     SvxPathControl(Window* pParent);
+-- 
+1.9.3
+
diff --git a/libreoffice.spec b/libreoffice.spec
index 49d113e..29e4ac7 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -336,6 +336,7 @@ Patch80: 0001-Resolves-fdo-84043-don-t-create-duplicate-Mirrored-X.patch
 Patch81: 0001-Resolves-rhbz-1165444-abrt-crash-with-NULL-pView.patch
 Patch82: 0001-rhbz-1016758-Dispose-bridges-when-disposing-bridge-f.patch
 Patch83: 0001-fdo-79303-Revert-fdo-70861-SwToSfxPageDescAttr-fix-c.patch
+Patch84: 0001-Resolves-rhbz-1164614-xslt-dialog-crashes-if-there-a.patch
 
 %define instdir %{_libdir}
 %define baseinstdir %{instdir}/libreoffice
@@ -2277,10 +2278,11 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
 %endif
 
 %changelog
-* Fri Nov 28 2014 Caolán McNamara <caolanm at redhat.com> - 1:4.2.7.2-12.unbuilt
+* Mon Dec 08 2014 Caolán McNamara <caolanm at redhat.com> - 1:4.2.7.2-12
 - Resolves: rhbz#1167683 crash in SwPostItMgr::HasNotes
 - Resolves: rhbz#1016758 crash on exit
 - Resolves: fdo#79303 Writer setting tabs with ruler changes page number offset
+- Resolves: rhbz#1164614 xslt dialog crashes if there are no entries
 
 * Thu Nov 27 2014 Caolán McNamara <caolanm at redhat.com> - 1:4.2.7.2-11
 - Resolves: fdo#84043 don't create duplicate Mirrored props


More information about the scm-commits mailing list