Makefile.in | 17 ++++-- cui/source/options/optchart.cxx | 2 sc/inc/column.hxx | 1 sc/source/core/data/column3.cxx | 10 +++ sc/source/core/data/conditio.cxx | 4 - sc/source/core/data/document.cxx | 6 ++ sc/source/core/data/table5.cxx | 4 + sc/source/core/tool/autoform.cxx | 2 sd/source/ui/presenter/CanvasUpdateRequester.cxx | 59 ++++++++++++++++------- sd/source/ui/presenter/CanvasUpdateRequester.hxx | 14 +---- sd/source/ui/presenter/PresenterCanvas.cxx | 9 +-- sd/source/ui/presenter/PresenterCanvas.hxx | 2 svx/source/dialog/compressgraphicdialog.cxx | 2 svx/source/tbxctrls/tbcontrl.cxx | 2 svx/source/tbxctrls/tbunosearchcontrollers.cxx | 2 15 files changed, 96 insertions(+), 40 deletions(-)
New commits: commit 1c7e873dbca6235be66fe1e6a593b2acbd18b059 Author: Julien Nabet <[email protected]> Date: Sun May 14 00:40:21 2017 +0200 fix gdi resource leak (svx/compressgraphicdialog) Change-Id: Iea6e481384cee4d7e2ff6787c64d3048ba9c9d65 Reviewed-on: https://gerrit.libreoffice.org/37587 Tested-by: Jenkins <[email protected]> Reviewed-by: Julien Nabet <[email protected]> (cherry picked from commit 68a1cb23ede1d4ae6195850190fca6953c30417f) Reviewed-on: https://gerrit.libreoffice.org/37592 Reviewed-by: Markus Mohrhard <[email protected]> (cherry picked from commit c41d6c4db6a29fb85b4547b0cf04b3693c472764) diff --git a/svx/source/dialog/compressgraphicdialog.cxx b/svx/source/dialog/compressgraphicdialog.cxx index 17a577c91bff..4188b85a79e8 100644 --- a/svx/source/dialog/compressgraphicdialog.cxx +++ b/svx/source/dialog/compressgraphicdialog.cxx @@ -184,7 +184,7 @@ void CompressGraphicsDialog::Update() const LocaleDataWrapper& rLocaleWrapper( Application::GetSettings().GetLocaleDataWrapper() ); sal_Unicode cSeparator = rLocaleWrapper.getNumDecimalSep()[0]; - VclPtr<VirtualDevice> pDummyVDev = VclPtr<VirtualDevice>::Create(); + ScopedVclPtrInstance<VirtualDevice> pDummyVDev; pDummyVDev->EnableOutput( false ); pDummyVDev->SetMapMode( m_aGraphic.GetPrefMapMode() ); commit e24a0a4d79707722ff59bafa168e8b2d851b3c27 Author: Julien Nabet <[email protected]> Date: Sun May 14 00:35:21 2017 +0200 fix gdi resource leak with unreleased virtual device (copycat Markus https://cgit.freedesktop.org/libreoffice/core/commit/?id=289711c2a469bfbe06aef3b3870b65f9c788f56d) Change-Id: I3974609559dd44257d7c3e9e9544348d622953f6 Reviewed-on: https://gerrit.libreoffice.org/37586 Tested-by: Jenkins <[email protected]> Reviewed-by: Julien Nabet <[email protected]> (cherry picked from commit 11c4cc15fdd491e15ffd4e7d9fb5d4082898f926) Reviewed-on: https://gerrit.libreoffice.org/37591 Reviewed-by: Markus Mohrhard <[email protected]> (cherry picked from commit 6eb0df62aaa00f2c1508b1650e8df3145822f84f) diff --git a/cui/source/options/optchart.cxx b/cui/source/options/optchart.cxx index 060d3b0b6587..b4eb31b072d1 100644 --- a/cui/source/options/optchart.cxx +++ b/cui/source/options/optchart.cxx @@ -43,7 +43,7 @@ void SvxDefaultColorOptPage::InsertColorEntry(const XColorEntry& rEntry, sal_Int const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings(); Size aImageSize = rStyleSettings.GetListBoxPreviewDefaultPixelSize(); - VclPtr<VirtualDevice> xDevice = VclPtr<VirtualDevice>::Create(); + ScopedVclPtrInstance<VirtualDevice> xDevice; xDevice->SetOutputSize(aImageSize); const Rectangle aRect(Point(0, 0), aImageSize); xDevice->SetFillColor(rColor); commit da608e10855b8b2af22db147e8b67db447c83ac8 Author: frederic vroman <[email protected]> Date: Fri May 12 09:14:32 2017 +0200 tdf#82326 calc 32bits unable to open files with a lot of cond formatting The code to build and compute formulas is using an fixed size array. The size of this array has been changed from 512 to 8192 by commit 9c1ca6dca3b553c302a635357e33591605343b99 Since then, LO consumes a LOT of memory while opening scalc files which are making extensive use of conditional formatting. This is a silent issue when working with a 64bits versions of LO because the memory is immediately released at the end of the load phase. However, with 32bits versions, some files can not be opened anymore as it can consume the full process memory space (2GB on windows). The parser is creating ScCondtionEntry objects to store conditional formatting expressions which are immediately compiled in the constructor. However the compile method did not return a flattened token array. Change-Id: Id290bc1f5838c246d4c2322b297b13307defaf88 Reviewed-on: https://gerrit.libreoffice.org/37527 Tested-by: Jenkins <[email protected]> Reviewed-by: Eike Rathke <[email protected]> (cherry picked from commit f566e2d579f5385b01d9b124e7055721313325c9) Reviewed-on: https://gerrit.libreoffice.org/37644 (cherry picked from commit 4366a6bcc175886680ff1b727207ed1ae4f97ce9) diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx index f4f0f116ba61..c970520f3377 100644 --- a/sc/source/core/data/conditio.cxx +++ b/sc/source/core/data/conditio.cxx @@ -389,7 +389,7 @@ void ScConditionEntry::Compile( const OUString& rExpr1, const OUString& rExpr2, // temporary formula string as string tokens //TODO: merge with lcl_ScDocFunc_CreateTokenArrayXML pFormula1 = new ScTokenArray; - pFormula1->AddStringXML( rExpr1 ); + pFormula1->AssignXMLString( rExpr1, rExprNmsp1 ); // bRelRef1 is set when the formula is compiled again (CompileXML) } else @@ -427,7 +427,7 @@ void ScConditionEntry::Compile( const OUString& rExpr1, const OUString& rExpr2, // temporary formula string as string tokens //TODO: merge with lcl_ScDocFunc_CreateTokenArrayXML pFormula2 = new ScTokenArray; - pFormula2->AddStringXML( rExpr2 ); + pFormula2->AssignXMLString( rExpr2, rExprNmsp2 ); // bRelRef2 is set when the formula is compiled again (CompileXML) } else commit f4585e24be0f49e896ae54c7b270de33e40f4f65 Author: Markus Mohrhard <[email protected]> Date: Sat May 13 23:39:16 2017 +0200 fix gdi resource leak with unreleased virtual device Change-Id: I1fd8c76a206cfc940e3d646e4025618785985e52 Reviewed-on: https://gerrit.libreoffice.org/37583 Tested-by: Jenkins <[email protected]> Reviewed-by: Markus Mohrhard <[email protected]> (cherry picked from commit 289711c2a469bfbe06aef3b3870b65f9c788f56d) Reviewed-on: https://gerrit.libreoffice.org/37585 Reviewed-by: Michael Meeks <[email protected]> (cherry picked from commit e4fdaa5d9a7b0c507278ef70aab7ce4c9e7ee62d) diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 4c93b9bba0b5..95ec9f400143 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -3267,7 +3267,7 @@ void SvxColorListBox::ShowPreview(const NamedColor &rColor) const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings(); Size aImageSize(rStyleSettings.GetListBoxPreviewDefaultPixelSize()); - VclPtr<VirtualDevice> xDevice = VclPtr<VirtualDevice>::Create(); + ScopedVclPtrInstance<VirtualDevice> xDevice; xDevice->SetOutputSize(aImageSize); const Rectangle aRect(Point(0, 0), aImageSize); if (m_bShowNoneButton && rColor.first == COL_NONE_COLOR) commit 97a12d7463f1e0ed0e381f3d750b21d0a60be41e Author: Arul Michael <[email protected]> Date: Thu Apr 27 10:32:10 2017 +0530 tdf#106051 Notify listeners on top and bottom of split formula group Change-Id: Icecb59a476f57cee0c04c3e21d60e6c7fa12f65a Reviewed-on: https://gerrit.libreoffice.org/37011 Reviewed-by: Eike Rathke <[email protected]> Tested-by: Jenkins <[email protected]> (cherry picked from commit c882c60f54cc90740a674eed8c47bde0e9959652) Reviewed-on: https://gerrit.libreoffice.org/37543 (cherry picked from commit f55f0b57b1f206763e97065f6121fcb55c53e53d) diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 80fb075988b8..ee69a89cc3f8 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -5849,6 +5849,12 @@ void ScDocument::DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& if (pRange) SetDirty( *pRange, true); } + //Notify listeners on top and bottom of the group that has been split + for (size_t i = 0; i < aGroupPos.size(); ++i) { + ScFormulaCell *pFormulaCell = GetFormulaCell(aGroupPos[i]); + if (pFormulaCell) + pFormulaCell->SetDirty(true); + } } } } commit ada01a71f310fe3a463d85968d9fcbc0c3484b7f Author: Michael Stahl <[email protected]> Date: Thu May 4 16:17:16 2017 +0200 sd: fix atexit crash in CanvasUpdateRequester::maRequesterMap https://retrace.fedoraproject.org/faf/problems/bthash/?bth=2c9e4b335a4f17dea5e095f0a3e8f79aa40943cb Clearly it's a really bad idea to own these objects at shutdown, so instead use weak references, and also ensure that the CanvasUpdateRequester is not deleted before the event is dispatched just in case. (cherry picked from commit baa253d00ab6aa67fa100472db00227baa14c87a) sd: oops, skipped one entry on every erase by incrementing Thanks Noel for the hint. (cherry picked from commit 670631cae260263e4822d8aa63bc5c2e4349c796) Change-Id: Iee8a109fe5969b2a3345e0ef266aee014962ae57 Reviewed-on: https://gerrit.libreoffice.org/37263 Tested-by: Jenkins <[email protected]> Reviewed-by: Thorsten Behrens <[email protected]> (cherry picked from commit 0f54a0f218834bfcc74b00f0a105785d3099bd40) diff --git a/sd/source/ui/presenter/CanvasUpdateRequester.cxx b/sd/source/ui/presenter/CanvasUpdateRequester.cxx index 90202e8138b4..456c37d43a58 100644 --- a/sd/source/ui/presenter/CanvasUpdateRequester.cxx +++ b/sd/source/ui/presenter/CanvasUpdateRequester.cxx @@ -20,6 +20,7 @@ #include "CanvasUpdateRequester.hxx" #include <vcl/svapp.hxx> #include <com/sun/star/lang/XComponent.hpp> +#include <vector> using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -36,30 +37,54 @@ public: //===== CanvasUpdateRequester ================================================= -CanvasUpdateRequester::RequesterMap CanvasUpdateRequester::maRequesterMap; - std::shared_ptr<CanvasUpdateRequester> CanvasUpdateRequester::Instance ( const Reference<rendering::XSpriteCanvas>& rxSharedCanvas) { - RequesterMap::const_iterator iRequester; - for (iRequester=maRequesterMap.begin(); iRequester!=maRequesterMap.end(); ++iRequester) + // this global must not own anything or we crash on shutdown + static std::vector<std::pair< + uno::WeakReference<rendering::XSpriteCanvas>, + std::weak_ptr<CanvasUpdateRequester>>> s_RequesterMap; + for (auto it = s_RequesterMap.begin(); it != s_RequesterMap.end(); ) { - if (iRequester->first == rxSharedCanvas) - return iRequester->second; + uno::Reference<rendering::XSpriteCanvas> const xCanvas(it->first); + if (!xCanvas.is()) + { + it = s_RequesterMap.erase(it); // remove stale entry + } + else if (xCanvas == rxSharedCanvas) + { + std::shared_ptr<CanvasUpdateRequester> pRequester(it->second); + if (pRequester) + { + return pRequester; + } + else + { + std::shared_ptr<CanvasUpdateRequester> const pNew( + new CanvasUpdateRequester(rxSharedCanvas), Deleter()); + it->second = pNew; + return pNew; + } + } + else + { + ++it; + } } // No requester for the given canvas found. Create a new one. std::shared_ptr<CanvasUpdateRequester> pRequester ( new CanvasUpdateRequester(rxSharedCanvas), Deleter()); - maRequesterMap.push_back(RequesterMap::value_type(rxSharedCanvas,pRequester)); + s_RequesterMap.push_back(std::make_pair(rxSharedCanvas, pRequester)); return pRequester; } + CanvasUpdateRequester::CanvasUpdateRequester ( - const Reference<rendering::XSpriteCanvas>& rxCanvas) - : mxCanvas(rxCanvas), - mnUserEventId(nullptr), - mbUpdateFlag(false) + const Reference<rendering::XSpriteCanvas>& rxCanvas) + : mxCanvas(rxCanvas) + , m_pUserEventId(nullptr) + , mbUpdateFlag(false) { Reference<lang::XComponent> xComponent (mxCanvas, UNO_QUERY); if (xComponent.is()) @@ -70,16 +95,16 @@ CanvasUpdateRequester::CanvasUpdateRequester ( CanvasUpdateRequester::~CanvasUpdateRequester() { - if (mnUserEventId != nullptr) - Application::RemoveUserEvent(mnUserEventId); + assert(m_pUserEventId == nullptr); } void CanvasUpdateRequester::RequestUpdate (const bool bUpdateAll) { - if (mnUserEventId == nullptr) + if (m_pUserEventId == nullptr) { + m_pThis = shared_from_this(); // keep instance alive until dispatch mbUpdateFlag = bUpdateAll; - mnUserEventId = Application::PostUserEvent(LINK(this, CanvasUpdateRequester, Callback)); + m_pUserEventId = Application::PostUserEvent(LINK(this, CanvasUpdateRequester, Callback)); } else { @@ -89,12 +114,14 @@ void CanvasUpdateRequester::RequestUpdate (const bool bUpdateAll) IMPL_LINK_NOARG(CanvasUpdateRequester, Callback, void*, void) { - mnUserEventId = nullptr; + m_pUserEventId = nullptr; if (mxCanvas.is()) { mxCanvas->updateScreen(mbUpdateFlag); mbUpdateFlag = false; } + assert(m_pThis); + m_pThis.reset(); // possibly delete "this" } } } // end of namespace ::sd::presenter diff --git a/sd/source/ui/presenter/CanvasUpdateRequester.hxx b/sd/source/ui/presenter/CanvasUpdateRequester.hxx index a712cc502200..471b9ab53b72 100644 --- a/sd/source/ui/presenter/CanvasUpdateRequester.hxx +++ b/sd/source/ui/presenter/CanvasUpdateRequester.hxx @@ -22,10 +22,8 @@ #include <com/sun/star/rendering/XSpriteCanvas.hpp> #include <sal/types.h> -#include <tools/solar.h> #include <tools/link.hxx> #include <memory> -#include <vector> struct ImplSVEvent; @@ -37,6 +35,7 @@ namespace sd { namespace presenter { to a single call to updateScreen. */ class CanvasUpdateRequester + : public std::enable_shared_from_this<CanvasUpdateRequester> { public: CanvasUpdateRequester(const CanvasUpdateRequester&) = delete; @@ -55,15 +54,12 @@ private: ~CanvasUpdateRequester(); class Deleter; friend class Deleter; - typedef ::std::vector< - ::std::pair< - css::uno::Reference<css::rendering::XSpriteCanvas>, - std::shared_ptr<CanvasUpdateRequester> > > RequesterMap; - static RequesterMap maRequesterMap; - + /// keep instance alive waiting for event dispatch + std::shared_ptr<CanvasUpdateRequester> m_pThis; css::uno::Reference<css::rendering::XSpriteCanvas> mxCanvas; - ImplSVEvent * mnUserEventId; + ImplSVEvent * m_pUserEventId; bool mbUpdateFlag; + DECL_LINK(Callback, void*, void); }; diff --git a/sd/source/ui/presenter/PresenterCanvas.cxx b/sd/source/ui/presenter/PresenterCanvas.cxx index 6333a536123e..0bd4ecc43d18 100644 --- a/sd/source/ui/presenter/PresenterCanvas.cxx +++ b/sd/source/ui/presenter/PresenterCanvas.cxx @@ -119,7 +119,6 @@ PresenterCanvas::PresenterCanvas ( mxSharedWindow(rxSharedWindow), mxWindow(rxWindow), maOffset(), - mpUpdateRequester(), maClipRectangle(), mbOffsetUpdatePending(true) { @@ -127,7 +126,9 @@ PresenterCanvas::PresenterCanvas ( mxWindow->addWindowListener(this); if (mxUpdateCanvas.is()) - mpUpdateRequester = CanvasUpdateRequester::Instance(mxUpdateCanvas); + { + m_pUpdateRequester = CanvasUpdateRequester::Instance(mxUpdateCanvas); + } } PresenterCanvas::~PresenterCanvas() @@ -465,9 +466,9 @@ sal_Bool SAL_CALL PresenterCanvas::updateScreen (sal_Bool bUpdateAll) ThrowIfDisposed(); mbOffsetUpdatePending = true; - if (mpUpdateRequester.get() != nullptr) + if (m_pUpdateRequester.get() != nullptr) { - mpUpdateRequester->RequestUpdate(bUpdateAll); + m_pUpdateRequester->RequestUpdate(bUpdateAll); return true; } else diff --git a/sd/source/ui/presenter/PresenterCanvas.hxx b/sd/source/ui/presenter/PresenterCanvas.hxx index a31e899d0234..4c5784251734 100644 --- a/sd/source/ui/presenter/PresenterCanvas.hxx +++ b/sd/source/ui/presenter/PresenterCanvas.hxx @@ -353,7 +353,7 @@ private: /** The UpdateRequester is used by updateScreen() to schedule updateScreen() calls at the shared canvas. */ - std::shared_ptr<CanvasUpdateRequester> mpUpdateRequester; + std::shared_ptr<CanvasUpdateRequester> m_pUpdateRequester; /** The clip rectangle as given to SetClip(). */ commit 2405f5389a7619caf0f783c72cb7fdda527e3bad Author: Arul Michael <[email protected]> Date: Thu May 11 17:52:40 2017 +0530 tdf#93171 Subtotal function with function indexes don't update Calling InerpretTail during Hide rows by SfxHintId::ScDataChanged broadcast Reviewed-on: https://gerrit.libreoffice.org/37509 Tested-by: Jenkins <[email protected]> Reviewed-by: Eike Rathke <[email protected]> Tested-by: Eike Rathke <[email protected]> (cherry picked from commit 970b431f1a7b6b96c4c9536657ce4fe9d8f5b585) Backported. Conflicts: sc/inc/column.hxx Change-Id: Ie78170bb6d49933a49d828a18637cb410796dc06 Reviewed-on: https://gerrit.libreoffice.org/37522 Reviewed-by: Eike Rathke <[email protected]> Tested-by: Jenkins <[email protected]> (cherry picked from commit 318b6b8ea87cba41995436bbc44818a068b35b6d) diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index de28a87ae63d..143610767117 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -588,6 +588,7 @@ public: void Broadcast( SCROW nRow ); void BroadcastCells( const std::vector<SCROW>& rRows, sal_uInt32 nHint ); + void BroadcastRows( SCROW nStartRow, SCROW nEndRow ); // cell notes ScPostIt* GetCellNote( SCROW nRow ); diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 55a2b36936f8..156afa94e687 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -90,6 +90,16 @@ void ScColumn::BroadcastCells( const std::vector<SCROW>& rRows, sal_uInt32 nHint } } +void ScColumn::BroadcastRows( SCROW nStartRow, SCROW nEndRow ) +{ + sc::SingleColumnSpanSet aSpanSet; + aSpanSet.scan(*this, nStartRow, nEndRow); + std::vector<SCROW> aRows; + aSpanSet.getRows(aRows); + BroadcastCells(aRows, SC_HINT_DATACHANGED); +} + + struct DirtyCellInterpreter { void operator() (size_t, ScFormulaCell* p) diff --git a/sc/source/core/data/table5.cxx b/sc/source/core/data/table5.cxx index 3ac1d04d4fcb..ccbbeb22a167 100644 --- a/sc/source/core/data/table5.cxx +++ b/sc/source/core/data/table5.cxx @@ -593,6 +593,10 @@ bool ScTable::SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden) { if (IsStreamValid()) SetStreamValid(false); + for (SCCOL i = 0; i < aCol.size(); i++) + { + aCol[i].BroadcastRows(nStartRow, nEndRow); + } } return bChanged; commit e19336c7cb806b76488b0522c52519601635061a Author: Julien Nabet <[email protected]> Date: Mon May 8 01:10:13 2017 +0200 tdf#107572: retrieve Default autoformat by fixing DefaultFirstEntry comparison operator. From http://www.cplusplus.com/reference/map/map/key_comp/: "... Two keys are considered equivalent if key_comp returns false reflexively (i.e., no matter the order in which the keys are passed as arguments). ..." Certainly regression from: https://cgit.freedesktop.org/libreoffice/core/commit/?id=652158c3f2c9cd0d6f71ecd14bf5d5cc02a71b50 author Julien Nabet <[email protected]> 2015-09-15 19:41:48 (GMT) committer Julien Nabet <[email protected]> 2015-09-30 12:11:35 (GMT) commit 652158c3f2c9cd0d6f71ecd14bf5d5cc02a71b50 (patch) tree 13ad29a110565f24e7010a68d902cadf1c441b62 parent 8727afe771a3e4d585e98ca9cceff2504e500bb0 (diff) tdf#94173: Calc doesn't save your own created autoformat presets This new patch has also been tested for tdf#94173 Change-Id: I60de5fffe39be9b3615c32a317611812b42bafc7 (cherry picked from commit 965494c544dd8f35ae83b7cf38549009da06c367) Reviewed-on: https://gerrit.libreoffice.org/37487 Reviewed-by: Eike Rathke <[email protected]> Tested-by: Jenkins <[email protected]> (cherry picked from commit 9fd3f402e7a6dfe133433d05de7452f32e1c41ba) diff --git a/sc/source/core/tool/autoform.cxx b/sc/source/core/tool/autoform.cxx index 4966475d3180..9708daa13dcb 100644 --- a/sc/source/core/tool/autoform.cxx +++ b/sc/source/core/tool/autoform.cxx @@ -912,6 +912,8 @@ ScAutoFormat::ScAutoFormat() : bool DefaultFirstEntry::operator() (const OUString& left, const OUString& right) const { OUString aStrStandard(ScGlobal::GetRscString(STR_STYLENAME_STANDARD)); + if (ScGlobal::GetpTransliteration()->isEqual( left, right ) ) + return false; if ( ScGlobal::GetpTransliteration()->isEqual( left, aStrStandard ) ) return true; if ( ScGlobal::GetpTransliteration()->isEqual( right, aStrStandard ) ) commit ed508772174055041b409af25c5168f021cc1cad Author: Noel Grandin <[email protected]> Date: Wed May 10 16:06:08 2017 +0200 tdf#107706 fix crash when closing Calc document regression from commit e8b49f09074fe184374bee5062715357427ae044 "new loplugin: useuniqueptr: vcl" Change-Id: I07ac157a02aa82b1ddbb741797fea093772f93f1 Reviewed-on: https://gerrit.libreoffice.org/37497 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> (cherry picked from commit 2ff893426093652221a8602e71c7924c46d3386f) diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx b/svx/source/tbxctrls/tbunosearchcontrollers.cxx index b411c6cf18b2..6b9f2364fe9d 100644 --- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx +++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx @@ -191,6 +191,8 @@ void FindTextFieldControl::SetTextToSelected_Impl() bool FindTextFieldControl::PreNotify( NotifyEvent& rNEvt ) { + if (isDisposed()) + return true; bool bRet= ComboBox::PreNotify( rNEvt ); switch ( rNEvt.GetType() ) commit b36b381587c9ec892f86d7bbd6dbc79c6914c991 Author: Stephan Bergmann <[email protected]> Date: Wed May 10 16:57:59 2017 +0200 Add distro-pack-install-strip target ...to be used by dev-tools' flatpak/build.sh Change-Id: Ie61edfc2aeddf10aa70dee07c3496fd6b2aebcc4 (cherry picked from commit 58891d589bd8da700f135b098dd50833277c65dc) Reviewed-on: https://gerrit.libreoffice.org/37473 Tested-by: Jenkins <[email protected]> Reviewed-by: Michael Stahl <[email protected]> (cherry picked from commit 6b35505deabbfb9b00d9bc21fa31b95376a0aed0) diff --git a/Makefile.in b/Makefile.in index cf3e71fb1ff3..50d9dc0cfb09 100644 --- a/Makefile.in +++ b/Makefile.in @@ -9,7 +9,7 @@ gb_Top_MODULE_CHECK_TARGETS := slowcheck unitcheck subsequentcheck perfcheck uicheck screenshot -.PHONY : all check-if-root bootstrap gbuild build build-non-l10n-only build-l10n-only check clean clean-build clean-host test-install distclean distro-pack-install docs download etags fetch findunusedcode get-submodules id install install-strip tags debugrun help showmodules translations packageinfo internal.clean $(gb_Top_MODULE_CHECK_TARGETS) +.PHONY : all check-if-root bootstrap gbuild build build-non-l10n-only build-l10n-only check clean clean-build clean-host test-install distclean distro-pack-install distro-pack-install-strip docs download etags fetch findunusedcode get-submodules id install install-strip tags debugrun help showmodules translations packageinfo internal.clean $(gb_Top_MODULE_CHECK_TARGETS) MAKECMDGOALS?=all build_goal:=$(if $(filter build check,$(MAKECMDGOALS)),all)\ @@ -362,11 +362,18 @@ else @exit 1 endif +define gb_Top_DistroPackInstall +$(SRCDIR)/bin/distro-install-clean-up +$(SRCDIR)/bin/distro-install-desktop-integration +$(SRCDIR)/bin/distro-install-sdk +$(SRCDIR)/bin/distro-install-file-lists +endef + distro-pack-install: install - $(SRCDIR)/bin/distro-install-clean-up - $(SRCDIR)/bin/distro-install-desktop-integration - $(SRCDIR)/bin/distro-install-sdk - $(SRCDIR)/bin/distro-install-file-lists + $(gb_Top_DistroPackInstall) + +distro-pack-install-strip: install-strip + $(gb_Top_DistroPackInstall) install-package-%: $(MAKE) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $@ _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
