parent
d7a88f465f
commit
be50cdb5cb
@ -1,57 +0,0 @@
|
||||
From 872e3b5021d3f7ff9476c071939f69f82bfcd75b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 31 Oct 2019 11:26:35 +0000
|
||||
Subject: [PATCH] Resolves: rhbz#1766990 starmath might not be available
|
||||
|
||||
Change-Id: If2e02d8da85a2af576d9563c455487ac3463c935
|
||||
---
|
||||
.../source/rtftok/rtfdocumentimpl.cxx | 33 +++++++++++--------
|
||||
1 file changed, 19 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
index a2d0d1635e7c..5a9d71d1b9e5 100644
|
||||
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
@@ -2857,20 +2857,25 @@ RTFError RTFDocumentImpl::popState()
|
||||
OUString aName;
|
||||
uno::Reference<embed::XEmbeddedObject> xObject
|
||||
= aContainer.CreateEmbeddedObject(aGlobalName.GetByteSequence(), aName);
|
||||
- uno::Reference<util::XCloseable> xComponent(xObject->getComponent(),
|
||||
- uno::UNO_SET_THROW);
|
||||
- // gcc4.4 (and 4.3 and possibly older) have a problem with dynamic_cast directly to the target class,
|
||||
- // so help it with an intermediate cast. I'm not sure what exactly the problem is, seems to be unrelated
|
||||
- // to RTLD_GLOBAL, so most probably a gcc bug.
|
||||
- auto& rImport
|
||||
- = dynamic_cast<oox::FormulaImportBase&>(dynamic_cast<SfxBaseModel&>(*xComponent));
|
||||
- rImport.readFormulaOoxml(m_aMathBuffer);
|
||||
- auto pValue = new RTFValue(xObject);
|
||||
- RTFSprms aMathAttributes;
|
||||
- aMathAttributes.set(NS_ooxml::LN_starmath, pValue);
|
||||
- writerfilter::Reference<Properties>::Pointer_t pProperties
|
||||
- = new RTFReferenceProperties(aMathAttributes);
|
||||
- Mapper().props(pProperties);
|
||||
+ if (xObject) // rhbz#1766990 starmath might not be available
|
||||
+ {
|
||||
+ uno::Reference<util::XCloseable> xComponent(xObject->getComponent(),
|
||||
+ uno::UNO_SET_THROW);
|
||||
+ // gcc4.4 (and 4.3 and possibly older) have a problem with dynamic_cast directly to the target class,
|
||||
+ // so help it with an intermediate cast. I'm not sure what exactly the problem is, seems to be unrelated
|
||||
+ // to RTLD_GLOBAL, so most probably a gcc bug.
|
||||
+ auto& rImport = dynamic_cast<oox::FormulaImportBase&>(
|
||||
+ dynamic_cast<SfxBaseModel&>(*xComponent));
|
||||
+ rImport.readFormulaOoxml(m_aMathBuffer);
|
||||
+
|
||||
+ auto pValue = new RTFValue(xObject);
|
||||
+ RTFSprms aMathAttributes;
|
||||
+ aMathAttributes.set(NS_ooxml::LN_starmath, pValue);
|
||||
+ writerfilter::Reference<Properties>::Pointer_t pProperties
|
||||
+ = new RTFReferenceProperties(aMathAttributes);
|
||||
+ Mapper().props(pProperties);
|
||||
+ }
|
||||
+
|
||||
m_aMathBuffer = oox::formulaimport::XmlStreamBuilder();
|
||||
}
|
||||
break;
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,49 +0,0 @@
|
||||
From d788f8d023bc323d6d392e9192af03fb37acc79d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 18 Nov 2019 12:42:41 +0000
|
||||
Subject: [PATCH 1/2] rhbz#1773525 reducing the amount of saved search/replace
|
||||
entries didn't work
|
||||
|
||||
Change-Id: I1512ef507130718859271079e603a95cf2105c58
|
||||
---
|
||||
svx/source/dialog/srchdlg.cxx | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
|
||||
index 92fa6a1603ee..a2d2747e0221 100644
|
||||
--- a/svx/source/dialog/srchdlg.cxx
|
||||
+++ b/svx/source/dialog/srchdlg.cxx
|
||||
@@ -149,7 +149,7 @@ struct SearchDlg_Impl
|
||||
}
|
||||
};
|
||||
|
||||
-static void ListToStrArr_Impl( sal_uInt16 nId, std::vector<OUString>& rStrLst, weld::ComboBox& rCBox )
|
||||
+static void ListToStrArr_Impl(sal_uInt16 nId, std::vector<OUString>& rStrLst, weld::ComboBox& rCBox, sal_uInt16 nRememberSize)
|
||||
{
|
||||
const SfxStringListItem* pSrchItem =
|
||||
static_cast<const SfxStringListItem*>(SfxGetpApp()->GetItem( nId ));
|
||||
@@ -158,6 +158,9 @@ static void ListToStrArr_Impl( sal_uInt16 nId, std::vector<OUString>& rStrLst, w
|
||||
{
|
||||
std::vector<OUString> aLst = pSrchItem->GetList();
|
||||
|
||||
+ if (aLst.size() > nRememberSize)
|
||||
+ aLst.resize(nRememberSize);
|
||||
+
|
||||
for (const OUString & s : aLst)
|
||||
{
|
||||
rStrLst.push_back(s);
|
||||
@@ -375,9 +378,9 @@ void SvxSearchDialog::Construct_Impl()
|
||||
|
||||
// Get stored search-strings from the application
|
||||
ListToStrArr_Impl(SID_SEARCHDLG_SEARCHSTRINGS,
|
||||
- aSearchStrings, *m_xSearchLB);
|
||||
+ aSearchStrings, *m_xSearchLB, nRememberSize);
|
||||
ListToStrArr_Impl(SID_SEARCHDLG_REPLACESTRINGS,
|
||||
- aReplaceStrings, *m_xReplaceLB);
|
||||
+ aReplaceStrings, *m_xReplaceLB, nRememberSize);
|
||||
|
||||
InitControls_Impl();
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,105 +0,0 @@
|
||||
From b1c1b0d4336f0acfa3696d0b83349acbce613b18 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 31 Oct 2019 10:57:31 +0000
|
||||
Subject: [PATCH] setting has-default true on an element in a GtkPopover is
|
||||
fatal
|
||||
|
||||
in gtk 3.24.12 at least.
|
||||
|
||||
in ColorWindow explicitly track which button is the 'default' one for the two
|
||||
modes instead of using get/use-default and then just grab_focus instead of
|
||||
setting has-default for these popover cases
|
||||
|
||||
Change-Id: Ia226f847f666d2356c6ea4e8c47f5db8e2535410
|
||||
---
|
||||
include/svx/colorwindow.hxx | 1 +
|
||||
svtools/source/control/ctrlbox.cxx | 4 ++--
|
||||
svx/source/tbxctrls/tbcontrl.cxx | 14 ++++++++------
|
||||
3 files changed, 11 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/include/svx/colorwindow.hxx b/include/svx/colorwindow.hxx
|
||||
index 45a5a8b30343..c3863f80ee80 100644
|
||||
--- a/include/svx/colorwindow.hxx
|
||||
+++ b/include/svx/colorwindow.hxx
|
||||
@@ -149,6 +149,7 @@ private:
|
||||
std::unique_ptr<weld::Widget> mxAutomaticSeparator;
|
||||
std::unique_ptr<weld::CustomWeld> mxColorSetWin;
|
||||
std::unique_ptr<weld::CustomWeld> mxRecentColorSetWin;
|
||||
+ weld::Button* mpDefaultButton;
|
||||
|
||||
DECL_LINK(SelectHdl, SvtValueSet*, void);
|
||||
DECL_LINK(SelectPaletteHdl, weld::ComboBox&, void);
|
||||
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
|
||||
index d67c69dce9e3..61d1d9e729ac 100644
|
||||
--- a/svtools/source/control/ctrlbox.cxx
|
||||
+++ b/svtools/source/control/ctrlbox.cxx
|
||||
@@ -1597,12 +1597,12 @@ void SvtLineListBox::SelectEntry(SvxBorderLineStyle nStyle)
|
||||
if (nStyle == SvxBorderLineStyle::NONE)
|
||||
{
|
||||
m_xLineSet->SetNoSelection();
|
||||
- m_xNoneButton->set_has_default(true);
|
||||
+ m_xNoneButton->grab_focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_xLineSet->SelectItem(static_cast<sal_Int16>(nStyle) + 1);
|
||||
- m_xNoneButton->set_has_default(false);
|
||||
+ m_xLineSet->GrabFocus();
|
||||
}
|
||||
UpdatePreview();
|
||||
}
|
||||
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
|
||||
index 2c2603fb4c8d..1b8d6fe09092 100644
|
||||
--- a/svx/source/tbxctrls/tbcontrl.cxx
|
||||
+++ b/svx/source/tbxctrls/tbcontrl.cxx
|
||||
@@ -1791,6 +1791,7 @@ ColorWindow::ColorWindow(std::shared_ptr<PaletteManager> const & rPaletteManager
|
||||
, mxAutomaticSeparator(m_xBuilder->weld_widget("separator4"))
|
||||
, mxColorSetWin(new weld::CustomWeld(*m_xBuilder, "colorset", *mxColorSet))
|
||||
, mxRecentColorSetWin(new weld::CustomWeld(*m_xBuilder, "recent_colorset", *mxRecentColorSet))
|
||||
+ , mpDefaultButton(nullptr)
|
||||
{
|
||||
mxColorSet->SetStyle( WinBits(WB_FLATVALUESET | WB_ITEMBORDER | WB_3DLOOK | WB_NO_DIRECTSELECT | WB_TABSTOP) );
|
||||
mxRecentColorSet->SetStyle( WinBits(WB_FLATVALUESET | WB_ITEMBORDER | WB_3DLOOK | WB_NO_DIRECTSELECT | WB_TABSTOP) );
|
||||
@@ -1988,7 +1989,7 @@ NamedColor ColorWindow::GetSelectEntryColor() const
|
||||
return GetSelectEntryColor(mxColorSet.get());
|
||||
if (!mxRecentColorSet->IsNoSelection())
|
||||
return GetSelectEntryColor(mxRecentColorSet.get());
|
||||
- if (mxButtonNoneColor->get_has_default())
|
||||
+ if (mxButtonNoneColor.get() == mpDefaultButton)
|
||||
return GetNoneColor();
|
||||
return GetAutoColor();
|
||||
}
|
||||
@@ -2130,8 +2131,7 @@ void ColorWindow::SetNoSelection()
|
||||
{
|
||||
mxColorSet->SetNoSelection();
|
||||
mxRecentColorSet->SetNoSelection();
|
||||
- mxButtonAutoColor->set_has_default(false);
|
||||
- mxButtonNoneColor->set_has_default(false);
|
||||
+ mpDefaultButton = nullptr;
|
||||
}
|
||||
|
||||
bool SvxColorWindow::IsNoSelection() const
|
||||
@@ -2259,15 +2259,17 @@ void ColorWindow::SelectEntry(const NamedColor& rNamedColor)
|
||||
|
||||
const Color &rColor = rNamedColor.first;
|
||||
|
||||
- if (mxButtonNoneColor->get_visible() && (rColor == COL_TRANSPARENT || rColor == COL_AUTO))
|
||||
+ if (mxButtonAutoColor->get_visible() && (rColor == COL_TRANSPARENT || rColor == COL_AUTO))
|
||||
{
|
||||
- mxButtonAutoColor->set_has_default(true);
|
||||
+ mpDefaultButton = mxButtonAutoColor.get();
|
||||
+ mxButtonAutoColor->grab_focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mxButtonNoneColor->get_visible() && rColor == COL_NONE_COLOR)
|
||||
{
|
||||
- mxButtonNoneColor->set_has_default(true);
|
||||
+ mpDefaultButton = mxButtonNoneColor.get();
|
||||
+ mxButtonNoneColor->grab_focus();
|
||||
return;
|
||||
}
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,42 +0,0 @@
|
||||
From e60702efcc0e09dd386908c3c04e4d37a5b1d967 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 18 Nov 2019 13:44:46 +0000
|
||||
Subject: [PATCH 2/2] rhbz#1773525 wrong elements removed from saved entries
|
||||
when limit hit
|
||||
|
||||
Change-Id: Iaf8a012ffe927cbf38789e97b469d899e7cbf87b
|
||||
---
|
||||
svx/source/dialog/srchdlg.cxx | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
|
||||
index a2d2747e0221..85b5560b1558 100644
|
||||
--- a/svx/source/dialog/srchdlg.cxx
|
||||
+++ b/svx/source/dialog/srchdlg.cxx
|
||||
@@ -1581,16 +1581,16 @@ void SvxSearchDialog::Remember_Impl( const OUString &rStr, bool _bSearch )
|
||||
if (std::find(pArr->begin(), pArr->end(), rStr) != pArr->end())
|
||||
return;
|
||||
|
||||
+ pArr->insert(pArr->begin(), rStr);
|
||||
+ pListBox->insert_text(0, rStr);
|
||||
+
|
||||
// delete oldest entry at maximum occupancy (ListBox and Array)
|
||||
- if(nRememberSize < pArr->size())
|
||||
+ size_t nArrSize = pArr->size();
|
||||
+ if (nArrSize > nRememberSize)
|
||||
{
|
||||
- pListBox->remove(static_cast<sal_uInt16>(nRememberSize - 1));
|
||||
- (*pArr)[nRememberSize - 1] = rStr;
|
||||
- pArr->erase(pArr->begin() + nRememberSize - 1);
|
||||
+ pListBox->remove(nArrSize - 1);
|
||||
+ pArr->erase(pArr->begin() + nArrSize - 1);
|
||||
}
|
||||
-
|
||||
- pArr->insert(pArr->begin(), rStr);
|
||||
- pListBox->insert_text(0, rStr);
|
||||
}
|
||||
|
||||
void SvxSearchDialog::TemplatesChanged_Impl( SfxStyleSheetBasePool& rPool )
|
||||
--
|
||||
2.20.1
|
||||
|
Loading…
Reference in new issue