Quality Laser Safety Glasses Supply与您共享了相册。
Dear Sir/Madam, I know you from your great website, and glad to introduce our laser safety products for your quality lasers. With a brief introducing of us, we specialize in laser safety field from year 2002, and now forming decades series laser safety glasses and goggles for different laser type. Our advantage is -- HIGH QUALITY WITH CE MARK, FROM MANUFACTURE DIRECTLY, WITH ATTRACTIVE PRICE, GOOD AT WORLDWIDE SHIPPING WITH FASTEST SHIPMENT . Below is some our normal type which are widely used by our customers, I hope it is useful for you, DTY laser safety glasses, Protect wavelength: 800 - 1700nm Special for: 808nm, 980nm, 1064nm, 1320nm Transmission > 40% RTD laser safety glasses, Protect wavelength: 620 - 660nm & 800 - 830nm Special for: 635nm, 808nm V.L.T > 30% ADY laser safety glasses, Protect wavelength: 740 - 1100nm Special for: 755nm, 1064nm V.L.T > 30% IPL safety glasses, Protect wavelength: 200 - 1400nm V.L.T > 10% Look forward to hearing back from you. Best regards, Si Hai https://picasaweb.google.com/lh/sredir?uname=117392312779383654009&target=ALBUM&id=6112307409036277473&authkey=Gv1sRgCOqqlLaE3qnsOA&invite=CLqfz4UM&feat=email ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: 3 commits - cui/uiconfig editeng/source include/editeng sw/source
cui/uiconfig/ui/optfltrembedpage.ui |2 ++ editeng/source/items/frmitems.cxx| 10 +- include/editeng/brushitem.hxx|6 +++--- sw/source/filter/ww8/docxattributeoutput.cxx |6 +++--- 4 files changed, 13 insertions(+), 11 deletions(-) New commits: commit 8e8a97feebd357687927f62b12c89f18c65382a0 Author: Zolnai Tamás Date: Sun Mar 8 14:02:51 2015 +0100 const_cast -> mutable Change-Id: Idedcb4a9add451fbdf39cad1429669a12b8c11b9 diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx index 0621746..fae0be7 100644 --- a/editeng/source/items/frmitems.cxx +++ b/editeng/source/items/frmitems.cxx @@ -3939,7 +3939,7 @@ const GraphicObject* SvxBrushItem::GetGraphicObject(OUString const & referer) co if( nRes != GRFILTER_OK ) { -const_cast < SvxBrushItem*> (this)->bLoadAgain = false; +bLoadAgain = false; } else { @@ -3950,7 +3950,7 @@ const GraphicObject* SvxBrushItem::GetGraphicObject(OUString const & referer) co } else { -const_cast < SvxBrushItem*> (this)->bLoadAgain = false; +bLoadAgain = false; } } diff --git a/include/editeng/brushitem.hxx b/include/editeng/brushitem.hxx index fee7628..b529d31 100644 --- a/include/editeng/brushitem.hxx +++ b/include/editeng/brushitem.hxx @@ -53,7 +53,7 @@ class EDITENG_DLLPUBLIC SvxBrushItem : public SfxPoolItem OUStringmaStrLink; OUStringmaStrFilter; SvxGraphicPosition eGraphicPos; -boolbLoadAgain; +mutable boolbLoadAgain; voidApplyGraphicTransparency_Impl(); DECL_STATIC_LINK( SvxBrushItem, DoneHdl_Impl, void *); commit b5aa8604ec39f7f8d573fe2dde94b7c7e70d93b8 Author: Zolnai Tamás Date: Sat Mar 7 21:12:12 2015 +0100 Make "Embedded Objects" frame expendable to fill space better Change-Id: I9b9335464c774bca13013576583877895d673592 diff --git a/cui/uiconfig/ui/optfltrembedpage.ui b/cui/uiconfig/ui/optfltrembedpage.ui index a3fe815..c7439b1 100644 --- a/cui/uiconfig/ui/optfltrembedpage.ui +++ b/cui/uiconfig/ui/optfltrembedpage.ui @@ -12,6 +12,7 @@ True False True +True 0 none @@ -32,6 +33,7 @@ True False +True commit d4a1e2a491cb50c8fee072458aa2c676c2f1a0fd Author: Zolnai Tamás Date: Sun Mar 8 14:00:26 2015 +0100 Avoid casting SvxBrushItem:nShadingValue Change-Id: Ida97950286bc69154d10cbc9b5ac699e7ad608ad diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx index 2c0adcc..0621746 100644 --- a/editeng/source/items/frmitems.cxx +++ b/editeng/source/items/frmitems.cxx @@ -3636,7 +3636,7 @@ bool SvxBrushItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const case MID_SHADING_VALUE: { -rVal <<= (sal_Int32)(nShadingValue); +rVal <<= nShadingValue; } break; } @@ -3753,7 +3753,7 @@ bool SvxBrushItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId ) case MID_SHADING_VALUE: { -sal_uInt32 nVal = 0; +sal_Int32 nVal = 0; if (!(rVal >>= nVal)) return false; @@ -4068,7 +4068,7 @@ void SvxBrushItem::SetGraphicFilter( const OUString& rNew ) maStrFilter = rNew; } -void SvxBrushItem::SetShadingValue( const sal_uInt32 nNew ) +void SvxBrushItem::SetShadingValue( const sal_Int32 nNew ) { nShadingValue = nNew; } diff --git a/include/editeng/brushitem.hxx b/include/editeng/brushitem.hxx index 9a7bb0f..fee7628 100644 --- a/include/editeng/brushitem.hxx +++ b/include/editeng/brushitem.hxx @@ -104,13 +104,13 @@ public: voidPurgeMedium() const; -sal_uInt32 GetShadingValue() const { return nShadingValue; } +sal_Int32 GetShadingValue() const { return nShadingValue; } const Graphic* GetGraphic(OUString const & referer = OUString()/*TODO*/) const; const GraphicObject*GetGraphicObject(OUString const & referer = OUString()/*TODO*/) const; OUStringGetGraphicLink() const { return maStrLink; } OUStringGetGraphicFilter() const{ return maStrFilter; } -voidSetShadingValue( const sal_uInt32 nNew ); +voidSetShadingValue( const sal_Int32 nNew ); // get graphic transparency in percent sal_Int8 getGraphicTransparency() const; diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 6033c9a..f7af823 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/sour
LibreOffice Gerrit News for core on 2015-03-11
Moin! * Open changes on master for project core changed in the last 25 hours: First time contributors doing great things! + Parallelized update precompiled headers. in https://gerrit.libreoffice.org/14802 from Ashod Nakashian about module bin + tdf#62957 Save Last Slide Position in Impress in https://gerrit.libreoffice.org/14782 from Anurag Kanungo about module sd + tdf#86787: Page style margin limited to 99.99mm in https://gerrit.libreoffice.org/14821 from Rishabh Kumar about module cui + tdf#89482 fix __refheading__ regression, set only CrossRefs as TOC. in https://gerrit.libreoffice.org/14822 from Justin Luth about module sw End of freshness + tdf#89666: vcl: speed up HbLayoutEngine with cache in SwTxtFormatInfo in https://gerrit.libreoffice.org/14732 from Michael Stahl about module include, sw, vcl * Merged changes on master for project core changed in the last 25 hours: + Spare extra call stack in https://gerrit.libreoffice.org/14765 from Takeshi Abe + Replace boost::noncopyable with use of SAL_DELETED_FUNCTION in https://gerrit.libreoffice.org/14825 from Takeshi Abe + tdf#89592 Using initializer_lists to populate Sequence in https://gerrit.libreoffice.org/14781 from Swachhand Lokhande * Abandoned changes on master for project core changed in the last 25 hours: None * Open changes needing tweaks, but being untouched for more than a week: + SkipImages option for document import in https://gerrit.libreoffice.org/14733 from Németh László + fdo#83672 , fdo#67776 : Fixed shape rotation angle in xlsx import. in https://gerrit.libreoffice.org/13090 from Sushil Shinde + tdf#85491 : break parameter incorrectly set in .XLSX import. in https://gerrit.libreoffice.org/12213 from Sushil Shinde + more breeze icons in https://gerrit.libreoffice.org/13058 from Jonathan Riddell + fdo#86606 removal of direct formatting options from the context menu in https://gerrit.libreoffice.org/13196 from Yousuf Philips + fdo#87441-Sending document as Email removes invisible content - this shou in https://gerrit.libreoffice.org/14549 from Charu Tyagi + Drop MAC_OS_X_VERSION_... variables in https://gerrit.libreoffice.org/13212 from Douglas Mencken + fdo#63905: fix regression by using paper size set in printer properties in https://gerrit.libreoffice.org/13763 from Clément Lassieur + jpeg-turbo: OpenCL for decompression of jpegs. in https://gerrit.libreoffice.org/13315 from Jan Holesovsky + GPU Calc:Support string parameter in SUMIF an SUMIFS. in https://gerrit.libreoffice.org/12044 from Hao Chen + vcl: Reduce OpenGLX11CairoTextRender surface area to size of text bounds in https://gerrit.libreoffice.org/14148 from Chris Sherlock + wip: get rid of svx dbtoolsclient in https://gerrit.libreoffice.org/11737 from Lionel Elie Mamane + Fix typo code Persistant in https://gerrit.libreoffice.org/14030 from Andrea Gelmini + fdo#88309: Standardize, cleanup, and improve Assertions in https://gerrit.libreoffice.org/13945 from Ashod Nakashian + --with-macosx-app-name= is unused, so bin it from AC_ARG_WITH list in https://gerrit.libreoffice.org/13658 from Douglas Mencken + fdo#75825-"Send Document as E-Mail" not working in https://gerrit.libreoffice.org/13786 from Charu Tyagi + solenv-filelists.pm: fix "can't call method `mode' on an undefined value" in https://gerrit.libreoffice.org/13669 from Douglas Mencken + gbuild-to-ide fixes in https://gerrit.libreoffice.org/11754 from Peter Foley + fdo#82335. in https://gerrit.libreoffice.org/11555 from Sudarshan Rao + fdo#39625 Make existing CppUnittests work in https://gerrit.libreoffice.org/11605 from Tobias Madl + fdo#86784 make soffice commandline in juh Bootstrap.bootstrap() configura in https://gerrit.libreoffice.org/13290 from Christoph Lutz + start detection of kf5 stuff in configure.ac in https://gerrit.libreoffice.org/13079 from Jonathan Riddell Best, Your friendly LibreOffice Gerrit Digest Mailer Note: The bot generating this message can be found and improved here: https://gerrit.libreoffice.org/gitweb?p=dev-tools.git;a=blob;f=gerritbot/send-daily-digest ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
LibreOffice Gerrit News for dev-tools on 2015-03-11
Moin! * Open changes on master for project dev-tools changed in the last 25 hours: None * Merged changes on master for project dev-tools changed in the last 25 hours: None * Abandoned changes on master for project dev-tools changed in the last 25 hours: + Script to test bugzilla documents that cause a crash again. in https://gerrit.libreoffice.org/14604 from Maarten Hoes * Open changes needing tweaks, but being untouched for more than a week: None Best, Your friendly LibreOffice Gerrit Digest Mailer Note: The bot generating this message can be found and improved here: https://gerrit.libreoffice.org/gitweb?p=dev-tools.git;a=blob;f=gerritbot/send-daily-digest ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Crash test update
New crashtest update available at http://dev-builds.libreoffice.org/crashtest/95af5f51fa6c7a0129360bb9df687fb8660fd3c9/ exportCrashes.csv Description: Binary data importCrash.csv Description: Binary data validationErrors.csv Description: Binary data ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Bug 45617] Make Impress masterpages copyable
https://bugs.documentfoundation.org/show_bug.cgi?id=45617 --- Comment #6 from Rishabh --- I have started working on the bug. I may need help for adding a unit test -- You are receiving this mail because: You are on the CC list for the bug. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Bug 45617] Make Impress masterpages copyable
https://bugs.documentfoundation.org/show_bug.cgi?id=45617 Rishabh changed: What|Removed |Added Assignee|libreoffice-b...@lists.free |kris.kr...@gmail.com |desktop.org | -- You are receiving this mail because: You are on the CC list for the bug. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Bug 67465] EPS rendering: locating pstoedit on Mac a problem
https://bugs.documentfoundation.org/show_bug.cgi?id=67465 V Stuart Foote changed: What|Removed |Added CC||wertvollan...@gmx.de --- Comment #6 from V Stuart Foote --- *** Bug 89073 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are on the CC list for the bug. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Bug 67465] EPS rendering: locating pstoedit on Mac a problem
https://bugs.documentfoundation.org/show_bug.cgi?id=67465 V Stuart Foote changed: What|Removed |Added CC||fel...@felipegasper.com --- Comment #5 from V Stuart Foote --- *** Bug 85748 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are on the CC list for the bug. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Bug 62957] FILESAVE: Save Last Slide Position in Impress
https://bugs.documentfoundation.org/show_bug.cgi?id=62957 --- Comment #18 from Kumāra --- (In reply to Thorsten Behrens from comment #17) > In fact, the functionality requested *is already there* - it is > currently triggered by alt-shift-F5 after loading a file that was > edited by LibreOffice. Really? Thanks. That would be good enough for me, but it doesn't work on my LO4.1.6.2. (Not upgrading till some regressions (major for me) are fixed.) I don't see the purpose of having LO open it at the first slide. If it's so that one can start the slide show there, F5 does that just fine regardless where the user is looking at, or where the highlight or cursor is. In any case, if there's a shortcut to get to where I left off, I'd be contented with it, but now it's not working for me. Can anyone else confirm that alt-shift-F5 does as said above? -- You are receiving this mail because: You are on the CC list for the bug. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: 2 commits - chart2/source lotuswordpro/source sc/source sd/source svx/source
chart2/source/controller/accessibility/AccessibleTextHelper.cxx |9 chart2/source/controller/dialogs/dlg_CreationWizard.cxx |2 chart2/source/controller/main/ChartController.cxx | 14 lotuswordpro/source/filter/lwpbackgroundstuff.cxx | 23 sc/source/core/tool/chartarr.cxx| 235 -- sc/source/core/tool/chgtrack.cxx| 16 sc/source/filter/xml/xmlexprt.cxx |7 sc/source/ui/Accessibility/AccessibleDocument.cxx |2 sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx| 13 sd/source/filter/eppt/eppt.cxx | 28 - sd/source/filter/ppt/pptin.cxx | 39 - svx/source/dialog/contwnd.cxx | 15 svx/source/form/datanavi.cxx|6 svx/source/form/tabwin.cxx |7 svx/source/sidebar/nbdtmg.cxx |2 15 files changed, 179 insertions(+), 239 deletions(-) New commits: commit ffe060e954d172f8603a4e9f625445e49132c7bf Author: Caolán McNamara Date: Tue Mar 10 16:19:19 2015 + V668 no sense in testing the result of new against null Change-Id: I7783d96e40de7a8df794f143d2c7830bf3314218 diff --git a/chart2/source/controller/accessibility/AccessibleTextHelper.cxx b/chart2/source/controller/accessibility/AccessibleTextHelper.cxx index 96564fc..878ecd1 100644 --- a/chart2/source/controller/accessibility/AccessibleTextHelper.cxx +++ b/chart2/source/controller/accessibility/AccessibleTextHelper.cxx @@ -80,8 +80,7 @@ void SAL_CALL AccessibleTextHelper::initialize( const Sequence< uno::Any >& aArg SolarMutexGuard aSolarGuard; -if( m_pTextHelper ) -delete m_pTextHelper; +delete m_pTextHelper; vcl::Window* pWindow( VCLUnoHelper::GetWindow( xWindow )); if( pWindow ) @@ -93,10 +92,8 @@ void SAL_CALL AccessibleTextHelper::initialize( const Sequence< uno::Any >& aArg if( pTextObj ) { std::unique_ptr pEditSource(new SvxTextEditSource( *pTextObj, 0, *pView, *pWindow )); -m_pTextHelper = new ::accessibility::AccessibleTextHelper( -std::move(pEditSource)); -if( m_pTextHelper ) -m_pTextHelper->SetEventSource( xEventSource ); +m_pTextHelper = new ::accessibility::AccessibleTextHelper(std::move(pEditSource)); +m_pTextHelper->SetEventSource( xEventSource ); } } } diff --git a/chart2/source/controller/dialogs/dlg_CreationWizard.cxx b/chart2/source/controller/dialogs/dlg_CreationWizard.cxx index d7faca0..9094da8 100644 --- a/chart2/source/controller/dialogs/dlg_CreationWizard.cxx +++ b/chart2/source/controller/dialogs/dlg_CreationWizard.cxx @@ -124,7 +124,7 @@ svt::OWizardPage* CreationWizard::createPage(WizardState nState) ChartTypeTabPage* pChartTypeTabPage = new ChartTypeTabPage(this,m_xChartModel,m_xCC,bDoLiveUpdate); pRet = pChartTypeTabPage; m_pTemplateProvider = pChartTypeTabPage; -if (m_pTemplateProvider && m_pDialogModel) +if (m_pDialogModel) m_pDialogModel->setTemplate( m_pTemplateProvider->getCurrentTemplate()); } break; diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index 780ea46..242fdf2 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -553,18 +553,12 @@ sal_Bool SAL_CALL ChartController::attachModel( const uno::Reference< frame::XMo m_aDispatchContainer.setChartDispatch( pDispatch, impl_getAvailableCommands() ); DrawCommandDispatch* pDrawDispatch = new DrawCommandDispatch( m_xCC, this ); -if ( pDrawDispatch ) -{ -pDrawDispatch->initialize(); -m_aDispatchContainer.setDrawCommandDispatch( pDrawDispatch ); -} +pDrawDispatch->initialize(); +m_aDispatchContainer.setDrawCommandDispatch( pDrawDispatch ); ShapeController* pShapeController = new ShapeController( m_xCC, this ); -if ( pShapeController ) -{ -pShapeController->initialize(); -m_aDispatchContainer.setShapeController( pShapeController ); -} +pShapeController->initialize(); +m_aDispatchContainer.setShapeController( pShapeController ); aGuard.clear(); #ifdef TEST_ENABLE_MODIFY_LISTENER diff --git a/sc/source/core/tool/chartarr.cxx b/sc/source/core/tool/chartarr.cxx index c92977f..33cbddb 100644 --- a/sc/source/core/tool/chartarr.cxx +++ b/sc/source/core/tool/chartarr.cxx @@ -39,14 +39,11 @@ ScMemChart::ScMemChart(SCCOL nCols, SCROW nRows) nColCnt = nCols; pData = new double[nColCnt * nRowCnt]; -if (pData) -{ -
[Bug 62957] FILESAVE: Save Last Slide Position in Impress
https://bugs.documentfoundation.org/show_bug.cgi?id=62957 Thorsten Behrens changed: What|Removed |Added Status|NEW |NEEDINFO CC||libreoffice-ux-advise@lists ||.freedesktop.org Component|Impress |ux-advise Assignee|sujaym.suj...@gmail.com |libreoffice-b...@lists.free ||desktop.org --- Comment #17 from Thorsten Behrens --- (In reply to Kumāra from comment #0) > I'm working on a presentation and lots of slides. Every time I reopen the > file, I have to scroll like crazy to the position I last left it. Can we > implement a similar feature available in Writer, that is to have LibO save > the last slide in view when saving the file? > Arghh. So actually the very nice detective work Bubli did in https://gerrit.libreoffice.org/#/c/14782/ shines a different light on this issue. In fact, the functionality requested *is already there* - it is currently triggered by alt-shift-F5 after loading a file that was edited by LibreOffice. Background: the old behaviour got changed in the course of some user experience-informed cleanup work in 2005, spec & feature request here: https://bz.apache.org/ooo/show_bug.cgi?id=50902 This was previously mapped to shift-f5 (similar to Writer, and Word), and got remapped alongside the fix for tdf#58505. I have no overly strong opinion on the issue, except that _probably_ an Impress document is opened more often by people who are not interested in the last editing position. CC ux-advise for additional thoughts. -- You are receiving this mail because: You are on the CC list for the bug. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: 3 commits - editeng/source i18npool/source sw/inc sw/source
editeng/source/misc/acorrcfg.cxx |2 ++ i18npool/source/search/textsearch.cxx | 25 + sw/inc/crsrsh.hxx |6 +++--- sw/inc/editsh.hxx |6 +++--- sw/source/uibase/inc/wrtsh.hxx|6 +++--- sw/source/uibase/uiview/viewling.cxx | 10 +- sw/source/uibase/wrtsh/select.cxx |4 ++-- 7 files changed, 39 insertions(+), 20 deletions(-) New commits: commit d1698027e9f1c4a88b17da7357f257be3cfb7c1a Author: Michael Stahl Date: Tue Mar 10 23:56:55 2015 +0100 tdf#89867: editeng: fix crash on shutdown after changing AutoCorrect options Since commit 5bff4b016c4b44f4123e0e6a4fd4c0c4dc0cfa2d the SvxAutoCorrCfg::pAutoCorrect is cleared by one terminate() listener but then another terminate() listener calls Commit() on all modified utl::ConfigItem and these two have a Commit() that does not clear the modified flag so they are always modified. Sadly there's no non-virtual Commit() wrapper that calls ClearModified() on the base class... Change-Id: I9ae220d78bb109c7bf0fdc544754a0686b357115 diff --git a/editeng/source/misc/acorrcfg.cxx b/editeng/source/misc/acorrcfg.cxx index dce7df4..9ca989c 100644 --- a/editeng/source/misc/acorrcfg.cxx +++ b/editeng/source/misc/acorrcfg.cxx @@ -321,6 +321,7 @@ void SvxBaseAutoCorrCfg::Commit() } } PutProperties(aNames, aValues); +ClearModified(); } void SvxBaseAutoCorrCfg::Notify( const Sequence& /* aPropertyNames */) @@ -640,6 +641,7 @@ void SvxSwAutoCorrCfg::Commit() } } PutProperties(aNames, aValues); +ClearModified(); } void SvxSwAutoCorrCfg::Notify( const Sequence& /* aPropertyNames */ ) commit 9aae521b451269007f03527c83645b8b935eb419 Author: Michael Stahl Date: Tue Mar 10 23:19:18 2015 +0100 i18npool: fix spurious regex ^ matching in TextSearch::searchForward() Thanks to Eike for finding this: The anchors ^ and $ now anchor at the selection boundary because the only text the regex matcher gets passed is the selected text. This in two paragraphs aaa bbb aaa bbb aaa bbb aaa bbb when the selection spans from the second aaa to the third bbb, for "^aaa" finds the second aaa, where previously it found the third aaa at the real paragraph start. This may not be expected by the user, because the behavior of ^ is described as "Match at the beginning of a line" (or paragraph in our case), which the previous implementation did. (regression from 806ced87cfe3da72df0d8e4faf5b82535fc7d1b7) Unfortunately it's not obvious how to implement the same in searchBackward(). Change-Id: I07f7a8476b672d9511fa74ca473c32eea427698f diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx index 8dda89d..fb1dd25 100644 --- a/i18npool/source/search/textsearch.cxx +++ b/i18npool/source/search/textsearch.cxx @@ -242,13 +242,26 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta in_str = xTranslit->transliterate( searchStr, startPos, endPos - startPos, offset ); // JP 20.6.2001: also the start and end positions must be corrected! -sal_Int32 const newStartPos = +sal_Int32 newStartPos = (startPos == 0) ? 0 : FindPosInSeq_Impl( offset, startPos ); -sal_Int32 const newEndPos = (endPos < searchStr.getLength()) +sal_Int32 newEndPos = (endPos < searchStr.getLength()) ? FindPosInSeq_Impl( offset, endPos ) : in_str.getLength(); +sal_Int32 nExtraOffset = 0; +if (pRegexMatcher && startPos > 0) +{ +// avoid matching ^ here - in_str omits a prefix of the searchStr +// this is a really lame way to do it, but ICU only offers +// useAnchoringBounds() to disable *both* bounds but what is needed +// here is to disable only one bound and respect the other +in_str = "X" + in_str; +nExtraOffset = 1; +newStartPos += nExtraOffset; +newEndPos += nExtraOffset; +} + sres = (this->*fnForward)( in_str, newStartPos, newEndPos ); // Map offsets back to untransliterated string. @@ -260,14 +273,14 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta const sal_Int32 nGroups = sres.startOffset.getLength(); for ( sal_Int32 k = 0; k < nGroups; k++ ) { -const sal_Int32 nStart = sres.startOffset[k]; +const sal_Int32 nStart = sres.startOffset[k] - nExtraOffset; if (startPos > 0 || nStart > 0) sres.startOffset[k] = (nStart < nOffsets ? offset[nStart] : (offset[nOffsets - 1] + 1)); // JP 20.6.2001: end is ever exclusive and then don't return //
[Libreoffice-commits] core.git: sc/inc sc/source
sc/inc/token.hxx |1 + sc/source/core/tool/token.cxx |5 + 2 files changed, 6 insertions(+) New commits: commit a408811fb5519d55c0fcf943bfc08325682e0399 Author: Eike Rathke Date: Tue Mar 10 23:51:59 2015 +0100 virtual ScTableRefToken::SetIndex(); of course.. Change-Id: I4a43ea664e9db2bb44e0e7f089a71abf6f572b1e diff --git a/sc/inc/token.hxx b/sc/inc/token.hxx index 5564a20..a0a12ab 100644 --- a/sc/inc/token.hxx +++ b/sc/inc/token.hxx @@ -227,6 +227,7 @@ public: virtual ~ScTableRefToken(); virtual sal_uInt16 GetIndex() const SAL_OVERRIDE; +virtual voidSetIndex( sal_uInt16 n ) SAL_OVERRIDE; virtual booloperator==( const formula::FormulaToken& rToken ) const SAL_OVERRIDE; virtual FormulaToken* Clone() const SAL_OVERRIDE { return new ScTableRefToken(*this); } diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index 203f378..eab3f8f 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -851,6 +851,11 @@ sal_uInt16 ScTableRefToken::GetIndex() const return mnIndex; } +void ScTableRefToken::SetIndex( sal_uInt16 n ) +{ +mnIndex = n; +} + ScTableRefToken::Item ScTableRefToken::GetItem() const { return meItem; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] translations.git: Changes to 'refs/tags/libreoffice-4.4.2.1'
Tag 'libreoffice-4.4.2.1' created by Christian Lohmaier at 2015-03-10 23:16 -0700 Tag libreoffice-4.4.2.1 -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQIcBAABAgAGBQJU/21DAAoJEPQ0oe+v7q6jFZ4P/0tCM0oQsMabN1hmr5DwG8SN qLFCReogCjHmssp/vXUOPCgq8nxxjWpzRK0qnq68sA2nkmjZyg6DanjDIWXccJvD xu98ftVQvmrXJU1ifuKZxPMZFErPNO4jXAysN6dvI0lb7Un1HjlGiO2QxvQvu3Xm nJ2SFyPdYtho583BlVpbYdYo4MHYPzLqmyCNH4bPCXCLkMEUKLH0TPLxrSUYozwK FkpiNa7h9TvJo5+3hkmeXiNOLnyU+vzUUUIbP2FtZ9anN5GOsQ705S+5xHbVY2fx NYOlQaCgtLICJKVsvRYVoFNHTzEp7AkX+V1WShCYDBmZDwdcP7KBKyxnK5CvyAsE txKKqqEY7Utv9Ai5xBMNPqdLQN8OyeIwliWfAkyzEAOeCJaF6NQbfc5pHWkPfxfe 6lGhaW8BSjzI6v5nxqooRKlp9NgsuZgB0gfJTXDLA/7kqaVWnUVOrnBCjkgT9fB7 aEPE56prWEIeLu/Oqva4/HFUKZoGByNMLDpYDTD1jkPCzv98LDQMWFBKfkvuPk+J g1X1wenLMPTxBOIErNPJdgoi/pM0V2Jhhivh02rTLNl+ZZfZTB5Z5khh5Sn2b8YC 3YUi+tPevzjNA+IMJ5ilUg/iIaRB3D8EieS25VDOf22MeyPTh1+e6BQb3TztT5UH s2NZwwstqAmw2YdW7TSC =sOMe -END PGP SIGNATURE- Changes since libreoffice-4-4-branch-point-13: --- 0 files changed --- ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/tags/libreoffice-4.4.2.1'
Tag 'libreoffice-4.4.2.1' created by Christian Lohmaier at 2015-03-10 23:16 -0700 Tag libreoffice-4.4.2.1 -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQIcBAABAgAGBQJU/21GAAoJEPQ0oe+v7q6jdvwP/R3gQpaAdF0/XTKPApKWkA/P Z9iCcGTaVintKi/97ry0lVthaVqOdqnqcR7mYFS97RImcx3M2CdzF0DmK+NVf4Ax 7SyC5C3i+O3COYd6Epf3zomZbGEO2kR6wlvUHKDnCtGkUddGCszCF1PxmMmgt9yb G3FQL7ZK14XeWDCo1mqTQUA7O1dnr1jELn+v7XXtT3wmqRiJ3/lattWSeE589eqQ SYe+QvR4DvesU4hB8p6rR5ugZS169Xs0c8e6iA0nAbaTqa+tAkN04uPXAZBcwiMO fk+gRvLPMDZioilh370/xpumzBlO2HVDOPcah/HtzgQdoenoF28fqyLIzs0Fsq0F joj5K/PNye8/tjUobshwG2l/ktAo0DGTpTzF3CFt/tqie31vAomfVDacZ4dU42Fc WMQKg6/7ZGxPmiNZqY9Xb+/giVihgnorEakV490hTTUSER8MiIYshuDQjDCjoDTU +L+kxz8hAn7VyyrK8rx0ru55BSrKs5UTytck+0+fD8gyW6w9tcwBZW4Zc0ershWp 23lhOPDXL3WE9UgsCvW7biG3ovh6gmZZz5Bxs/BH/BcVrfGJT34ursEl9xPzPRDS Fjlv/J1WSM36X9lyDc/hZ0HwAOfA/7HJ10l/dgFNwN6R9R9nZ3WSwL0hR9LOTwEt gmEUTrDI0d+VdUPg4Ld5 =zPbP -END PGP SIGNATURE- Changes since libreoffice-4-4-branch-point-970: --- 0 files changed --- ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] help.git: Changes to 'refs/tags/libreoffice-4.4.2.1'
Tag 'libreoffice-4.4.2.1' created by Christian Lohmaier at 2015-03-10 23:16 -0700 Tag libreoffice-4.4.2.1 -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQIcBAABAgAGBQJU/20/AAoJEPQ0oe+v7q6jOl4P/3BJ1ZThZN6Y0QEAGziDBtit vWEr5b+mq/gW7pr00UZ444fH3kA8FAVts6jBY3OPCfxI/QSf0RVpOLM94yR5TjWV 2Zci7J3uMMi+0x1TXbA2s3mu+gdLH2tpUnIKN/2pzTXm5HYRcCAc5PeO0fJQOZ8y VN+Kskg3VS7CdJPi72mKyhubB7YmGG18Rrlh1HWpBkFIk3c4YSsfNosmHwas+62/ GSoEnRNzDLK0/UNKbC9xPWjkyyoPmNK5Yu4aSLts8srlb5b/dSQVAMlckHq/fFpX qk7haaVVcOLEmx29K21INRW1OF7GEg2XXE5kEQQEBR26/S/uU8B2pCULlFRb6fRA IiHW9zHcfKlBw5+TIL2GfFDF7PqDW8eaocP4NsyrQgflIvb3wK+f+dXBeaPesG78 /oMVu8gLBjkYCJEKC+g8JZGdESATiUbhptlQayghqEN3Bmri6gVupsLEt4ImVWTz hBKVnkjVLujFVodtqANiOnDHfiLpOv1yERu2z7yOWP0yH0ncF+wNh0MEFBQ+EO5k AJ1P3faI9+2zABlIltV+tfq6zEnmuFnca2r/zuyRE+FR+hQWfUAY7JbyoDWpgnSl pDqDt4QSWu6QcdLUDzykVjQXhr06LtdvcAbyTHW+NbDS+5EYjGdML4X15SpFos2s 3utE2rfEFvNAMGDep12J =rNUI -END PGP SIGNATURE- Changes since libreoffice-4-4-branch-point-3: --- 0 files changed --- ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dictionaries.git: Changes to 'refs/tags/libreoffice-4.4.2.1'
Tag 'libreoffice-4.4.2.1' created by Christian Lohmaier at 2015-03-10 23:16 -0700 Tag libreoffice-4.4.2.1 -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQIcBAABAgAGBQJU/207AAoJEPQ0oe+v7q6jqZkQAKeY8oR4uMeS2FBBUm1YwHxm kKwnKNEQfBuOak7CcvmTj2Iy39sy7/YETXQRbJjQEpD2+pq73JRLjxG1L9D9o/tD ZhFWvB7tH+hT+kxp0khNa/NE/1lE0YeXoXjUO3Uc/OPtz70nHk7yC3LVlDzHDxhD qNbdPlN5dkzSU3QfXGomaK8LU0LnYtzEhr0mFySCLTz8xJtXseAP2X17HqxETp2e cp5m/8BWYLy4nGpVE007bjSqIGmwrhhpEiB5grdZt4sO4zIcM8+QRDhOP1vgaq0E RYxB1QuYiPgu2IvumKSDv6GDPXOKu/fAHPbpblIsnugQtRkXRtSGnV+SzOxDKgGA e8vOYz0khbHwn5g9JIyvRjTsof96sVcNCX+JAnc/bmyyMjxssL0Vuf4Ch1xKhIcm OlJVHCHBE9wkDcRkvafsmvXj1tJTRTid1rruaI3iLoCP87aGWvRrMrc1nhKB03rP hA8mrGnIhV7kfYFaYHi0e2FzIILi6tQHKmu0lnX9rV1g8hGHom2pR4l+zvL1GdI2 fLwSPi9JsJV7fbKRDyReXjN5z3H0i0dACkPutWyguQKffxHfV9oou121lcbvjTMm dw0ESxMh33rlW4wrXYhszre0hkPHGbjd7AKH3NQCkcVQBC6SAXm6zHZS+KZxm3Hn mhHcaLEN6//XJnET3X+p =zM78 -END PGP SIGNATURE- Changes since libreoffice-4-4-branch-point-3: --- 0 files changed --- ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4-2' - configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 49969567ff5d243c24567dacf4139c562babaef6 Author: Christian Lohmaier Date: Tue Mar 10 23:18:12 2015 +0100 bump product version to 4.4.2.1.0+ Change-Id: Icd0a963a0152ed4ca0e66e2e9de2d98ee7f61ed5 diff --git a/configure.ac b/configure.ac index 05a2066..4fb6788 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[4.4.2.0.0+],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[4.4.2.1.0+],[],[],[http://documentfoundation.org/]) AC_PREREQ([2.59]) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit d306801afeaf981dd40d47e5e9bb36a142bf341b Author: Christian Lohmaier Date: Tue Mar 10 23:12:20 2015 +0100 bump product version to 4.4.3.0.0+ Change-Id: Ia91aa1543f78d2c5c04eb71dc44b006ba883f611 diff --git a/configure.ac b/configure.ac index 05a2066..fd9a74b 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[4.4.2.0.0+],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[4.4.3.0.0+],[],[],[http://documentfoundation.org/]) AC_PREREQ([2.59]) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'libreoffice-4-4-2'
New branch 'libreoffice-4-4-2' available with the following commits: commit 10195e8fc6a704ac5504c832c99f7dba6377011b Author: Christian Lohmaier Date: Tue Mar 10 23:09:30 2015 +0100 Branch libreoffice-4-4-2 This is 'libreoffice-4-4-2' - the stable branch for the 4.4.2 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 4.4.x release, please use the 'libreoffice-4-4' branch. If you want to build something cool, unstable, and risky, use master. Change-Id: I8423702d1abb78d87f4e0e97cc11f664870d177e ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] translations.git: Changes to 'libreoffice-4-4-2'
New branch 'libreoffice-4-4-2' available with the following commits: commit 539e3d735f12cc64a95f370be694fdc0211e7041 Author: Christian Lohmaier Date: Tue Mar 10 23:08:41 2015 +0100 Branch libreoffice-4-4-2 This is 'libreoffice-4-4-2' - the stable branch for the 4.4.2 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 4.4.x release, please use the 'libreoffice-4-4' branch. If you want to build something cool, unstable, and risky, use master. Change-Id: Ie86ea48598fa6335026fdad6d081a2b54016f53b ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] help.git: Changes to 'libreoffice-4-4-2'
New branch 'libreoffice-4-4-2' available with the following commits: commit c4d8b59448b9f201c64a18d3d4a57eef6707d3f2 Author: Christian Lohmaier Date: Tue Mar 10 23:08:40 2015 +0100 Branch libreoffice-4-4-2 This is 'libreoffice-4-4-2' - the stable branch for the 4.4.2 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 4.4.x release, please use the 'libreoffice-4-4' branch. If you want to build something cool, unstable, and risky, use master. Change-Id: Idaf449eeca15cbece6e82ca537368a34a0c14311 ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dictionaries.git: Changes to 'libreoffice-4-4-2'
New branch 'libreoffice-4-4-2' available with the following commits: commit 0c8060f3bf801fd1cfb548e4cd694f3fee83755b Author: Christian Lohmaier Date: Tue Mar 10 23:08:40 2015 +0100 Branch libreoffice-4-4-2 This is 'libreoffice-4-4-2' - the stable branch for the 4.4.2 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 4.4.x release, please use the 'libreoffice-4-4' branch. If you want to build something cool, unstable, and risky, use master. Change-Id: Ib8758cfefa3902272837d9f86437107d2cbde463 ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[GSoC] To students applying for the Libre Office project
Hello, I hope you have subscribed to this list and you'll receive my message ;). Many of you have questions about the application and preparation for a proposal writing. As you already know, you should read a few wiki pages (and do, what they tell about) or ask an adequate mentor. Additionally, I would like to share with you the Student Guide, I've found some time ago, which should help you to increase your chance to be accepted and clarify the concerns: http://en.flossmanuals.net/GSoCStudentGuide/index/ You can find there some tips about choosing an idea to work on, time management, info about the Open Source Culture and proposal examples. I belive it will be helpful. Best regards, Łukasz Hryniuk ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 2 commits - sc/inc sc/source sd/source
sc/inc/global.hxx |2 ++ sc/source/core/data/global.cxx | 14 +- sc/source/ui/view/gridwin.cxx |3 +-- sd/source/ui/func/fusel.cxx|9 + 4 files changed, 25 insertions(+), 3 deletions(-) New commits: commit bcce230b1035e0409368f34c93a7562458719001 Author: Siqi Liu Date: Tue Mar 10 20:38:04 2015 +0100 make format consistent with the rest of the file... diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 6c4904a..c90ac59 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -2291,10 +2291,8 @@ void ScGridWindow::MouseButtonUp( const MouseEvent& rMEvt ) // ScGlobal::OpenURL() only understands Calc A1 style syntax. // Convert it to Calc A1 before calling OpenURL(). - -if (pDoc->GetAddressConvention() == formula::FormulaGrammar::CONV_OOO) { +if (pDoc->GetAddressConvention() == formula::FormulaGrammar::CONV_OOO) ScGlobal::OpenURL(pViewData->GetDocument()->GetDrawLayer(), aUrl, aTarget); -} else { ScAddress aTempAddr; commit 6e85234a6e15f6a2f809a246ac2d36ad249a3256 Author: Siqi Liu Date: Tue Mar 10 20:32:00 2015 +0100 tdf#89705: make hyperlinks clickable on impress/calc Change-Id: I3d35918a43dff789fad703cfc6b594a6dd3df47b diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx index 2c6c612..6b03dc4b 100644 --- a/sc/inc/global.hxx +++ b/sc/inc/global.hxx @@ -576,6 +576,8 @@ public: static void SetUserList( const ScUserList* pNewList ); SC_DLLPUBLIC static const OUString& GetRscString( sal_uInt16 nIndex ); static void OpenURL( const OUString& rURL, const OUString& rTarget ); +// Check if tiled-rendering, and leave clients to handle the openURL action if that's the case, OpenURL otherwise. +static void OpenURL( const SdrModel* pDrawLayer, const OUString& rURL, const OUString& rTarget ); SC_DLLPUBLIC static OUStringGetAbsDocName( const OUString& rFileName, SfxObjectShell* pShell ); SC_DLLPUBLIC static OUStringGetDocTabName( const OUString& rFileName, diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx index 6a0aaf0..81b28d5 100644 --- a/sc/source/core/data/global.cxx +++ b/sc/source/core/data/global.cxx @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -57,6 +58,8 @@ #include #include +#include + #include "global.hxx" #include "scresid.hxx" #include "autoform.hxx" @@ -127,7 +130,6 @@ longScGlobal::nLastColWidthExtra= STD_EXTRA_WIDTH; static sal_uInt16 nPPTZoom = 0; // ScreenZoom used to determine nScreenPPTX/Y -class SfxViewShell; SfxViewShell* pScActiveViewShell = NULL; //FIXME: Make this a member sal_uInt16 nScClickMouseModifier = 0;//FIXME: This too sal_uInt16 nScFillModeMouseModifier = 0; //FIXME: And this @@ -865,6 +867,16 @@ bool ScGlobal::EETextObjEqual( const EditTextObject* pObj1, return false; } + +void ScGlobal::OpenURL( const SdrModel* pDrawLayer, const OUString& rURL, const OUString& rTarget ) { +if (pDrawLayer && pDrawLayer->isTiledRendering()) { +pDrawLayer->libreOfficeKitCallback(LOK_CALLBACK_HYPERLINK_CLICKED, rURL.toUtf8().getStr()); +return; +} +// Proceed to openURL if not tiled rendering. +OpenURL(rURL, rTarget); +} + void ScGlobal::OpenURL( const OUString& rURL, const OUString& rTarget ) { // OpenURL is always called in the GridWindow by mouse clicks in some way or another. diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index d980dfc..6c4904a 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -2292,8 +2292,9 @@ void ScGridWindow::MouseButtonUp( const MouseEvent& rMEvt ) // ScGlobal::OpenURL() only understands Calc A1 style syntax. // Convert it to Calc A1 before calling OpenURL(). -if (pDoc->GetAddressConvention() == formula::FormulaGrammar::CONV_OOO) -ScGlobal::OpenURL(aUrl, aTarget); +if (pDoc->GetAddressConvention() == formula::FormulaGrammar::CONV_OOO) { +ScGlobal::OpenURL(pViewData->GetDocument()->GetDrawLayer(), aUrl, aTarget); +} else { ScAddress aTempAddr; diff --git a/sd/source/ui/func/fusel.cxx b/sd/source/ui/func/fusel.cxx index cba2104..1ace237 100644 --- a/sd/source/ui/func/fusel.cxx +++ b/sd/source/ui/func/fusel.cxx @@ -71,6 +71,8 @@ #include +#include + using namespace ::com::sun::star; namespace sd { @@ -266,6 +268,13 @@ bool FuSelection::MouseButtonDown(const MouseEvent& rMEvt) SfxViewFrame* pFrame = mpViewShell->GetViewFrame(); mpWindow->ReleaseMouse(); +
[Libreoffice-commits] core.git: sc/source
sc/source/filter/excel/xestream.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 71b630e5b683b3761af9d6bdce56f13f20da84c1 Author: Eike Rathke Date: Tue Mar 10 20:35:30 2015 +0100 replace an OSL_ENSURE() with assert(), tdf#89319 related Commit 8e2293e06adba3f22e824acad99983fb5b997e4d changed STREAM_SEEK_TO_END logic, ensure that in a dbgutil build we catch unnoticed corner cases with assert() instead of just another fly-by warning. Change-Id: If6c4fb4d2467f7dc7b8177caf7353d0b0e56ed0d diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx index f104db2..ba83118 100644 --- a/sc/source/filter/excel/xestream.cxx +++ b/sc/source/filter/excel/xestream.cxx @@ -382,7 +382,7 @@ sal_uInt64 XclExpStream::SetSvStreamPos(sal_uInt64 const nPos) void XclExpStream::InitRecord( sal_uInt16 nRecId ) { -OSL_ENSURE( mrStrm.remainingSize() == 0, "XclExpStream::InitRecord - not in end position" ); +assert(mrStrm.remainingSize() == 0);// stream must be at end position mrStrm.WriteUInt16( nRecId ); mnLastSizePos = mrStrm.Tell(); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - i18npool/source
i18npool/source/search/textsearch.cxx | 21 + 1 file changed, 9 insertions(+), 12 deletions(-) New commits: commit cfaeddd9ed07fad75182eb0cd040e63d08502b5e Author: Michael Stahl Date: Mon Mar 9 23:56:24 2015 +0100 tdf#89665: i18npool: speed up TextSearch::searchBackward() There does not appear to be a good reason why searchBackward() needs to call transliterate() on the entire passed string, so don't do that, as in the previous commit for the other direction. Change-Id: Iadfca806da89bf8825e5a3df7fcad64ea08d7f9c (cherry picked from commit 666fb8b7bc210be6d785515bc7660e5a5d19b82e) Reviewed-on: https://gerrit.libreoffice.org/14827 Reviewed-by: Eike Rathke Tested-by: Eike Rathke diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx index 7245e9a..959227df 100644 --- a/i18npool/source/search/textsearch.cxx +++ b/i18npool/source/search/textsearch.cxx @@ -328,25 +328,22 @@ SearchResult TextSearch::searchBackward( const OUString& searchStr, sal_Int32 st SearchResult sres; OUString in_str(searchStr); -sal_Int32 newStartPos = startPos; -sal_Int32 newEndPos = endPos; bUsePrimarySrchStr = true; if ( xTranslit.is() ) { // apply only simple 1<->1 transliteration here -com::sun::star::uno::Sequence offset( in_str.getLength()); -in_str = xTranslit->transliterate( searchStr, 0, in_str.getLength(), offset ); +com::sun::star::uno::Sequence offset(startPos - endPos); +in_str = xTranslit->transliterate( searchStr, endPos, startPos - endPos, offset ); // JP 20.6.2001: also the start and end positions must be corrected! -if( startPos < searchStr.getLength() ) -newStartPos = FindPosInSeq_Impl( offset, startPos ); -else -newStartPos = in_str.getLength(); +sal_Int32 const newStartPos = (startPos < searchStr.getLength()) +? FindPosInSeq_Impl( offset, startPos ) +: in_str.getLength(); -if( endPos ) -newEndPos = FindPosInSeq_Impl( offset, endPos ); +sal_Int32 const newEndPos = +(endPos == 0) ? 0 : FindPosInSeq_Impl( offset, endPos ); sres = (this->*fnBackward)( in_str, newStartPos, newEndPos ); @@ -360,14 +357,14 @@ SearchResult TextSearch::searchBackward( const OUString& searchStr, sal_Int32 st for ( sal_Int32 k = 0; k < nGroups; k++ ) { const sal_Int32 nStart = sres.startOffset[k]; -if (nStart > 0) +if (endPos > 0 || nStart > 0) sres.startOffset[k] = offset[(nStart <= nOffsets ? nStart : nOffsets) - 1] + 1; // JP 20.6.2001: end is ever exclusive and then don't return // the position of the next character - return the // next position behind the last found character! // "a b c" find "b" must return 2,3 and not 2,4!!! const sal_Int32 nStop = sres.endOffset[k]; -if (nStop > 0) +if (endPos > 0 || nStop > 0) sres.endOffset[k] = (nStop < nOffsets ? offset[nStop] : (offset[nOffsets - 1] + 1)); } } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - i18npool/source
i18npool/source/search/textsearch.cxx | 21 + 1 file changed, 9 insertions(+), 12 deletions(-) New commits: commit 4bae2ea3b57cb88b34bf8a9eade7ab0a950e0185 Author: Michael Stahl Date: Mon Mar 9 21:32:43 2015 +0100 tdf#89665: i18npool: speed up TextSearch::searchForward() There does not appear to be a good reason why searchForward() needs to call transliterate() on the entire passed string. Restricting it to the passed range speeds it up from 104 billion to 0.19 billion callgrind cycles when built with GCC 4.9.2 -m32 -Os. Change-Id: I440f16c34f38659b64f1eb60c50f0e414e3dfee8 (cherry picked from commit 806ced87cfe3da72df0d8e4faf5b82535fc7d1b7) Reviewed-on: https://gerrit.libreoffice.org/14826 Reviewed-by: Eike Rathke Tested-by: Eike Rathke diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx index 98aa1b6..7245e9a 100644 --- a/i18npool/source/search/textsearch.cxx +++ b/i18npool/source/search/textsearch.cxx @@ -232,25 +232,22 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta SearchResult sres; OUString in_str(searchStr); -sal_Int32 newStartPos = startPos; -sal_Int32 newEndPos = endPos; bUsePrimarySrchStr = true; if ( xTranslit.is() ) { // apply normal transliteration (1<->1, 1<->0) -com::sun::star::uno::Sequence offset( in_str.getLength()); -in_str = xTranslit->transliterate( searchStr, 0, in_str.getLength(), offset ); +com::sun::star::uno::Sequence offset(endPos - startPos); +in_str = xTranslit->transliterate( searchStr, startPos, endPos - startPos, offset ); // JP 20.6.2001: also the start and end positions must be corrected! -if( startPos ) -newStartPos = FindPosInSeq_Impl( offset, startPos ); +sal_Int32 const newStartPos = +(startPos == 0) ? 0 : FindPosInSeq_Impl( offset, startPos ); -if( endPos < searchStr.getLength() ) -newEndPos = FindPosInSeq_Impl( offset, endPos ); -else -newEndPos = in_str.getLength(); +sal_Int32 const newEndPos = (endPos < searchStr.getLength()) +? FindPosInSeq_Impl( offset, endPos ) +: in_str.getLength(); sres = (this->*fnForward)( in_str, newStartPos, newEndPos ); @@ -264,14 +261,14 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta for ( sal_Int32 k = 0; k < nGroups; k++ ) { const sal_Int32 nStart = sres.startOffset[k]; -if (nStart > 0) +if (startPos > 0 || nStart > 0) sres.startOffset[k] = (nStart < nOffsets ? offset[nStart] : (offset[nOffsets - 1] + 1)); // JP 20.6.2001: end is ever exclusive and then don't return // the position of the next character - return the // next position behind the last found character! // "a b c" find "b" must return 2,3 and not 2,4!!! const sal_Int32 nStop = sres.endOffset[k]; -if (nStop > 0) +if (startPos > 0 || nStop > 0) sres.endOffset[k] = offset[(nStop <= nOffsets ? nStop : nOffsets) - 1] + 1; } } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
Re: Contributing Libreoffice in GSoC 2015
Hello, take a look at our wiki: https://wiki.documentfoundation.org/Main_Page You have probably seen the GSoC page, there is info about tasks to do at the top of this page: https://wiki.documentfoundation.org/Development/Gsoc/Ideas To prove your skills you can do one of Easy Hacks (I think you should take something more challenging than fixing cppcheck warnings): https://wiki.documentfoundation.org/Development/Easy_Hacks ...but better will be asking chosen Idea's mentor (on IRC #libreoffice-dev channel or by an e-mail) - a potential mentor for Application Themes is Jan Holesovsky (kendy), as you can see on a mentioned page. Best regards, Łukasz Hryniuk On 10/03/15 19:36, Siddharth Agrawal wrote: Hello, Myself Siddharth Agrawal,an undergraduate 2nd year student(Information Technology) at IIIT Bhubaneswar,India. I am happy to see Libreoffice selected as mentoring organisation. I want to contribute Libreoffice in this summer of code. I want to work on improving Application Themes of Libreoffice. I have a good experience in C++ and I can understand codes written by others. I am also interested in Improving user experience with Gdocs, Onedrive,etc.. Can anyone please guide me where should I start with or what to do in order to prove my skills? Regards, Siddharth Agrawal. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Contributing Libreoffice in GSoC 2015
Hello, Myself Siddharth Agrawal,an undergraduate 2nd year student(Information Technology) at IIIT Bhubaneswar,India. I am happy to see Libreoffice selected as mentoring organisation. I want to contribute Libreoffice in this summer of code. I want to work on improving Application Themes of Libreoffice. I have a good experience in C++ and I can understand codes written by others. I am also interested in Improving user experience with Gdocs, Onedrive,etc.. Can anyone please guide me where should I start with or what to do in order to prove my skills? Regards, Siddharth Agrawal. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: Introducing CoreHacks
Hey, On Tue, Mar 10, 2015 at 5:20 PM, Noel Grandin wrote: > I think we have a MediumHack whiteboard tag? The only reference to that in bugzilla seems to be: https://bugs.documentfoundation.org/show_bug.cgi?id=56902 Regards, Markus > > > On Sunday, 8 March 2015, Markus Mohrhard > wrote: > >> Hey, >> >> our EasyHacks are a nice way for new contributors to start working on >> LibreOffice and get a feeling for the code base. As we discussed in the ESC >> we are not doing a good job to help these people migrate from solving >> EasyHacks to doing normal LibreOffice development independently of a mentor. >> >> The problem of not being able to help them means that some of them are >> stuck in working on EasyHacks for a long time. This creates several >> problems for us: >> >> * no new blood in the core developers >> * "experienced" developers solve tasks that need core developers as >> mentors >> * may interesting projects are never done >> >> To mitigate these issue I'm pleased to announce Core Hacks (ideas for a >> better name are appreciated), the missing step between Easy Hacks and core >> developers. A Core Hack is still a mentored task but requires more >> independent work from the developer. I have created a wiki page [1] where I >> currently list the ones that I know and where you can add your own ideas. >> >> I ask all developers to look out for people who have solved a few easy >> hacks already and who should maybe move on to the next step. >> >> Regards, >> Markus >> >> [1] https://wiki.documentfoundation.org/CoreHacks >> > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk libreofficekit/Module_libreofficekit.mk libreofficekit/qa
libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk | 11 --- libreofficekit/Module_libreofficekit.mk |2 +- libreofficekit/qa/unit/tiledrendering.cxx |5 - 3 files changed, 1 insertion(+), 17 deletions(-) New commits: commit b7e1bfefeef372834d4b335820d654e0557c6834 Author: Stephan Bergmann Date: Tue Mar 10 18:14:43 2015 +0100 Fix CppunitTest_libreofficekit_tiledrendering dependencies Remove the unnecessary ones, but make sure that e.g. the sofficeapp library is built (which was not covered by depending on services.rdb). Change-Id: I1adfa4aaaf60787c944d71cc289cdafba8351c1b diff --git a/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk b/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk index 783074f..5b1727e 100644 --- a/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk +++ b/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk @@ -21,11 +21,7 @@ $(eval $(call gb_CppunitTest_use_external,libreofficekit_tiledrendering,boost_he # our test specifically tests LOK only functionality which would otherwise not # require any normal LO api/libraries. $(eval $(call gb_CppunitTest_use_libraries,libreofficekit_tiledrendering, \ - cppu \ sal \ - tl \ - test \ - vcl \ $(gb_UWINAPI) \ )) @@ -37,13 +33,6 @@ $(eval $(call gb_CppunitTest_add_libs,libreofficekit_tiledrendering,\ )) endif -$(eval $(call gb_CppunitTest_use_sdk_api,libreofficekit_tiledrendering)) - -$(eval $(call gb_CppunitTest_use_ure,libreofficekit_tiledrendering)) - -# Depend on ~everything, as tiled rendering can use most parts of LO. -$(eval $(call gb_CppunitTest_use_rdb,libreofficekit_tiledrendering,services)) - $(eval $(call gb_CppunitTest_use_configuration,libreofficekit_tiledrendering)) # vim: set noet sw=4 ts=4: diff --git a/libreofficekit/Module_libreofficekit.mk b/libreofficekit/Module_libreofficekit.mk index ad2064f..000c2fe 100644 --- a/libreofficekit/Module_libreofficekit.mk +++ b/libreofficekit/Module_libreofficekit.mk @@ -11,7 +11,7 @@ $(eval $(call gb_Module_Module,libreofficekit)) ifeq ($(OS),LINUX) -$(eval $(call gb_Module_add_slowcheck_targets,libreofficekit,\ +$(eval $(call gb_Module_add_subsequentcheck_targets,libreofficekit,\ CppunitTest_libreofficekit_tiledrendering \ )) diff --git a/libreofficekit/qa/unit/tiledrendering.cxx b/libreofficekit/qa/unit/tiledrendering.cxx index 7dcd6fb..4e13f08 100644 --- a/libreofficekit/qa/unit/tiledrendering.cxx +++ b/libreofficekit/qa/unit/tiledrendering.cxx @@ -16,11 +16,6 @@ #include #include -#include -#include -#include -#include -#include #include #include ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
Re: Introducing CoreHacks
I think we have a MediumHack whiteboard tag? On Sunday, 8 March 2015, Markus Mohrhard wrote: > Hey, > > our EasyHacks are a nice way for new contributors to start working on > LibreOffice and get a feeling for the code base. As we discussed in the ESC > we are not doing a good job to help these people migrate from solving > EasyHacks to doing normal LibreOffice development independently of a mentor. > > The problem of not being able to help them means that some of them are > stuck in working on EasyHacks for a long time. This creates several > problems for us: > > * no new blood in the core developers > * "experienced" developers solve tasks that need core developers as mentors > * may interesting projects are never done > > To mitigate these issue I'm pleased to announce Core Hacks (ideas for a > better name are appreciated), the missing step between Easy Hacks and core > developers. A Core Hack is still a mentored task but requires more > independent work from the developer. I have created a wiki page [1] where I > currently list the ones that I know and where you can add your own ideas. > > I ask all developers to look out for people who have solved a few easy > hacks already and who should maybe move on to the next step. > > Regards, > Markus > > [1] https://wiki.documentfoundation.org/CoreHacks > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: instsetoo_native/inc_openoffice
instsetoo_native/inc_openoffice/unix/find-requires-x11.sh |1 - 1 file changed, 1 deletion(-) New commits: commit 5d970faf2e5444c35e9c614eb55d621b02b0289e Author: Christian Lohmaier Date: Tue Mar 10 16:54:36 2015 +0100 libGLU actually is not required anymore for master Change-Id: I543a561fc7fa1213c8e319f227b761f6328a6eaa diff --git a/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh b/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh index 9f13c85..0fe0b1d 100644 --- a/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh +++ b/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh @@ -23,6 +23,5 @@ if [[ "${OS}" == "AIX" ]]; then echo "libfreetype.a(libfreetype.so.6${mark64})" else echo "libfreetype.so.6${mark64}" - echo "libGLU.so.1${mark64}" echo "libXinerama.so.1${mark64}" fi ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sc/source
sc/source/core/tool/compiler.cxx | 48 +++ 1 file changed, 34 insertions(+), 14 deletions(-) New commits: commit 237eb6d37a1c30c9c4907086f3dd895a2341d8ca Author: Winfried Donkers Date: Thu Feb 26 17:18:06 2015 +0100 tdf#40835 add backward compatibility for ODFF function FDIST. Change-Id: I611531e86363d6c2b4ccce1aa0f1a940693bc8d8 Reviewed-on: https://gerrit.libreoffice.org/14658 Reviewed-by: Eike Rathke Tested-by: Eike Rathke diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx index f87a4b8..f192230 100644 --- a/sc/source/core/tool/compiler.cxx +++ b/sc/source/core/tool/compiler.cxx @@ -2450,8 +2450,9 @@ bool ScCompiler::IsOpCode( const OUString& rName, bool bInArray ) { "EASTERSUNDAY", ocEasterSunday }, // EASTERSUNDAY -> ORG.OPENOFFICE.EASTERSUNDAY { "ZGZ",ocZGZ },// ZGZ -> RRI { "COLOR", ocColor }, // COLOR -> ORG.LIBREOFFICE.COLOR -{ "GOALSEEK", ocBackSolver } // GOALSEEK -> ORG.OPENOFFICE.GOALSEEK -// Renamed new names, prepare to read future names: +{ "GOALSEEK", ocBackSolver }, // GOALSEEK -> ORG.OPENOFFICE.GOALSEEK + // Renamed new names, prepare to read future names: +{ "FDIST", ocFDist_LT }, // COM.MICROSOFT.F.DIST -> FDIST //{ "ORG.OPENOFFICE.XXX", ocXXX } // XXX -> ORG.OPENOFFICE.XXX }; static const size_t nOdffAliases = sizeof(aOdffAliases) / sizeof(aOdffAliases[0]); @@ -3732,10 +3733,10 @@ ScTokenArray* ScCompiler::CompileString( const OUString& rFormula ) OpCode eOp; short nSep; }; -// FunctionStack only used if PODF or OOXML! bool bPODF = FormulaGrammar::isPODF( meGrammar); +bool bODFF = FormulaGrammar::isODFF( meGrammar); bool bOOXML = FormulaGrammar::isOOXML( meGrammar); -bool bUseFunctionStack = (bPODF || bOOXML); +bool bUseFunctionStack = (bPODF || bOOXML || bODFF); const size_t nAlloc = 512; FunctionStack aFuncs[ nAlloc ]; FunctionStack* pFunctionStack = (bUseFunctionStack && static_cast(rFormula.getLength()) > nAlloc ? @@ -3841,23 +3842,42 @@ ScTokenArray* ScCompiler::CompileString( const OUString& rFormula ) SetError(errCodeOverflow); break; } } -if (bOOXML) +// append arguments if neccessary +if ( eOp == ocClose ) { -// Append a parameter for CEILING, FLOOR and WEEKNUM, all 1.0 -// Function is already closed, parameter count is nSep+1 -size_t nFunc = nFunction + 1; -if (eOp == ocClose && ( -(pFunctionStack[ nFunc ].eOp == ocCeil && // 3rd Excel mode +if ( bOOXML ) +{ +// Append a parameter for CEILING, FLOOR and WEEKNUM, all 1.0 +// Function is already closed, parameter count is nSep+1 +size_t nFunc = nFunction + 1; +if ((pFunctionStack[ nFunc ].eOp == ocCeil && // 3rd Excel mode pFunctionStack[ nFunc ].nSep == 1) || (pFunctionStack[ nFunc ].eOp == ocFloor && // 3rd Excel mode pFunctionStack[ nFunc ].nSep == 1) || (pFunctionStack[ nFunc ].eOp == ocWeek && // 2nd week start - pFunctionStack[ nFunc ].nSep == 0))) + pFunctionStack[ nFunc ].nSep == 0)) +{ +if (!static_cast(pArr)->Add( new FormulaToken( svSep, ocSep)) || +!static_cast(pArr)->Add( new FormulaDoubleToken( 1.0))) +{ +SetError(errCodeOverflow); break; +} +} +} +else if ( bODFF ) { -if (!static_cast(pArr)->Add( new FormulaToken( svSep, ocSep)) || -!static_cast(pArr)->Add( new FormulaDoubleToken( 1.0))) +// ensure backward compatibility for F.DIST: +// 4th argument (cumulative) in version 4.5 and up is optional (defaulting to true), +// but in version 4.4 and before it is required +size_t nFunc = nFunction + 1; +if ( (pFunctionStack[ nFunc ].eOp == ocFDist_LT && + pFunctionStack[ nFunc ].nSep == 2) ) { -SetError(errCodeOverflow); break; +if (!static_cast(pArr)->Add( new FormulaToken( svSep, ocSep)) || +!static_cast(pArr)->Add( new FormulaDoubleToken( 1.0))) +{ +SetError(errCodeOverflow); break; +} } } } ___ Libreoff
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - instsetoo_native/inc_openoffice
instsetoo_native/inc_openoffice/unix/find-requires-x11.sh |2 ++ 1 file changed, 2 insertions(+) New commits: commit af573aeda86d83b75a68ecb1c3a369376ce87782 Author: Christian Lohmaier Date: Tue Mar 10 16:38:14 2015 +0100 tdf#53861 - add libGLU.so.1 and libXinerama.so.1 to rpm/deb requirements only used for upstream packages/when epm is used (any auto-dependency creation is disabled for those). Add two that might be missing in barebone installations Change-Id: I97c3af8cc8622c63ac831701e509097711822098 (cherry picked from commit 441523b0df8983fb34409a5f4e25dde571be1af7) diff --git a/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh b/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh index b8463dc..9f13c85 100644 --- a/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh +++ b/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh @@ -23,4 +23,6 @@ if [[ "${OS}" == "AIX" ]]; then echo "libfreetype.a(libfreetype.so.6${mark64})" else echo "libfreetype.so.6${mark64}" + echo "libGLU.so.1${mark64}" + echo "libXinerama.so.1${mark64}" fi ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: cui/source dbaccess/source sc/source sd/source sw/source
cui/source/dialogs/cuigaldlg.cxx | 10 - cui/source/factory/dlgfact.cxx| 17 -- dbaccess/source/ui/dlg/ConnectionHelper.cxx |6 dbaccess/source/ui/misc/WNameMatch.cxx|3 sc/source/core/opencl/formulagroupcl.cxx |3 sc/source/ui/namedlg/namedefdlg.cxx | 19 +- sd/source/ui/accessibility/AccessibleDrawDocumentView.cxx | 17 +- sd/source/ui/app/sdmod1.cxx | 89 ++ sd/source/ui/dlg/TemplateScanner.cxx |9 - sd/source/ui/docshell/docshel4.cxx| 38 + sd/source/ui/view/sdview3.cxx |2 sw/source/core/attr/swatrset.cxx | 21 +-- sw/source/core/draw/dcontact.cxx |7 - sw/source/core/text/txtfld.cxx| 32 + sw/source/core/undo/untbl.cxx | 10 - sw/source/core/unocore/unoportenum.cxx|6 sw/source/filter/ww8/docxexportfilter.cxx |9 - sw/source/filter/ww8/rtfexportfilter.cxx |9 - 18 files changed, 114 insertions(+), 193 deletions(-) New commits: commit b6d6dab920a9e14a6fe9c61446da64ab62dcbfdf Author: Caolán McNamara Date: Tue Mar 10 13:07:45 2015 + V668 no sense in testing the result of new against null Change-Id: I1cff71d15f4d1b5ee47cc734b3fc2168d7f99201 diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx index f8c6c50..b1b0451 100644 --- a/cui/source/dialogs/cuigaldlg.cxx +++ b/cui/source/dialogs/cuigaldlg.cxx @@ -448,13 +448,9 @@ short ActualizeProgress::Execute() short nRet; pIdle = new Idle; - -if ( pIdle ) -{ -pIdle->SetIdleHdl( LINK( this, ActualizeProgress, TimeoutHdl ) ); -pIdle->SetPriority( SchedulerPriority::LOWEST ); -pIdle->Start(); -} +pIdle->SetIdleHdl( LINK( this, ActualizeProgress, TimeoutHdl ) ); +pIdle->SetPriority( SchedulerPriority::LOWEST ); +pIdle->Start(); nRet = ModalDialog::Execute(); diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index 1421e83..062d67e 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -1216,13 +1216,8 @@ void AbstractScriptSelectorDialog_Impl::SetRunLabel() VclAbstractDialog * AbstractDialogFactory_Impl::CreateSvxScriptOrgDialog( vcl::Window* pParent, const OUString& rLanguage) { -Dialog* pDlg=NULL; - -pDlg = new SvxScriptOrgDialog( pParent, rLanguage); - -if ( pDlg ) -return new CuiVclAbstractDialog_Impl( pDlg ); -return 0; +Dialog* pDlg = new SvxScriptOrgDialog( pParent, rLanguage); +return new CuiVclAbstractDialog_Impl( pDlg ); } AbstractTitleDialog * AbstractDialogFactory_Impl::CreateTitleDialog( vcl::Window* pParent, @@ -1295,9 +1290,7 @@ AbstractSvxSearchSimilarityDialog * AbstractDialogFactory_Impl::CreateSvxSearchS sal_uInt16 nLonger) { SvxSearchSimilarityDialog* pDlg = new SvxSearchSimilarityDialog( pParent, bRelax, nOther, nShorter, nLonger ); -if ( pDlg ) -return new AbstractSvxSearchSimilarityDialog_Impl( pDlg ); -return NULL; +return new AbstractSvxSearchSimilarityDialog_Impl( pDlg ); } // @@ -1460,9 +1453,7 @@ AbstractFmSearchDialog* AbstractDialogFactory_Impl::CreateFmSearchDialog(vcl::W const Link& lnkContextSupplier) { FmSearchDialog* pDlg = new FmSearchDialog( pParent, strInitialText, _rContexts, nInitialContext, lnkContextSupplier ); -if ( pDlg ) -return new AbstractFmSearchDialog_Impl( pDlg ); -return 0; +return new AbstractFmSearchDialog_Impl( pDlg ); } AbstractGraphicFilterDialog * AbstractDialogFactory_Impl::CreateGraphicFilterEmboss (vcl::Window* pParent, diff --git a/dbaccess/source/ui/dlg/ConnectionHelper.cxx b/dbaccess/source/ui/dlg/ConnectionHelper.cxx index eeb3bd4..ec19a52 100644 --- a/dbaccess/source/ui/dlg/ConnectionHelper.cxx +++ b/dbaccess/source/ui/dlg/ConnectionHelper.cxx @@ -548,10 +548,10 @@ namespace dbaui const bool bExists = bIsFile? aCheckExistence.isDocument(): aCheckExistence.isFolder(); eExists = bExists? PATH_EXIST: PATH_NOT_EXIST; } -catch(const Exception&) +catch (const Exception&) { -eExists = ( pHandler && pHandler->isDoesNotExist() ) ? PATH_NOT_EXIST: (bIsFile ? PATH_NOT_EXIST : PATH_NOT_KNOWN); - } +eExists = pHandler->isDoesNotExist() ? PATH_NOT_EXIST : (bIsFile ? PATH_NOT_EXIST : PATH_NOT_KNOWN); +} return eExists; } bool OConnectionHelper::PreNotify( NotifyEvent& _rNEvt ) diff --git a/dba
[Libreoffice-commits] core.git: instsetoo_native/inc_openoffice
instsetoo_native/inc_openoffice/unix/find-requires-x11.sh |2 ++ 1 file changed, 2 insertions(+) New commits: commit 441523b0df8983fb34409a5f4e25dde571be1af7 Author: Christian Lohmaier Date: Tue Mar 10 16:38:14 2015 +0100 tdf#53861 - add libGLU.so.1 and libXinerama.so.1 to rpm/deb requirements only used for upstream packages/when epm is used (any auto-dependency creation is disabled for those). Add two that might be missing in barebone installations Change-Id: I97c3af8cc8622c63ac831701e509097711822098 diff --git a/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh b/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh index b8463dc..9f13c85 100644 --- a/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh +++ b/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh @@ -23,4 +23,6 @@ if [[ "${OS}" == "AIX" ]]; then echo "libfreetype.a(libfreetype.so.6${mark64})" else echo "libfreetype.so.6${mark64}" + echo "libGLU.so.1${mark64}" + echo "libXinerama.so.1${mark64}" fi ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - desktop/source include/LibreOfficeKit include/vcl libreofficekit/source sw/inc sw/source
desktop/source/lib/init.cxx | 14 ++ include/LibreOfficeKit/LibreOfficeKit.h |2 ++ include/LibreOfficeKit/LibreOfficeKit.hxx |8 include/vcl/ITiledRenderable.hxx |5 + libreofficekit/source/gtk/lokdocview.c|5 + sw/inc/unotxdoc.hxx |2 ++ sw/source/uibase/uno/unotxdoc.cxx |8 7 files changed, 44 insertions(+) New commits: commit b963fb48cb61e8b206b99e8793de81da0899aa25 Author: Miklos Vajna Date: Tue Mar 10 16:13:53 2015 +0100 lok::Document: add resetSelection() Change-Id: Ib24003178bb576ff1450d674d74ef8978b350b92 diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 0cc0d79..e1e0cb2 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -220,6 +220,7 @@ static void doc_setGraphicSelection (LibreOfficeKitDocument* pThis, int nType, int nX, int nY); +static void doc_resetSelection (LibreOfficeKitDocument* pThis); struct LibLODocument_Impl : public _LibreOfficeKitDocument { @@ -251,6 +252,7 @@ struct LibLODocument_Impl : public _LibreOfficeKitDocument m_pDocumentClass->postMouseEvent = doc_postMouseEvent; m_pDocumentClass->setTextSelection = doc_setTextSelection; m_pDocumentClass->setGraphicSelection = doc_setGraphicSelection; +m_pDocumentClass->resetSelection = doc_resetSelection; gDocumentClass = m_pDocumentClass; } @@ -756,6 +758,18 @@ static void doc_setGraphicSelection(LibreOfficeKitDocument* pThis, int nType, in pDoc->setGraphicSelection(nType, nX, nY); } +static void doc_resetSelection(LibreOfficeKitDocument* pThis) +{ +ITiledRenderable* pDoc = getTiledRenderable(pThis); +if (!pDoc) +{ +gImpl->maLastExceptionMsg = "Document doesn't support tiled rendering"; +return; +} + +pDoc->resetSelection(); +} + static char* lo_getError (LibreOfficeKit *pThis) { LibLibreOffice_Impl* pLib = static_cast(pThis); diff --git a/include/LibreOfficeKit/LibreOfficeKit.h b/include/LibreOfficeKit/LibreOfficeKit.h index 0b23adf..07a2a2c 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.h +++ b/include/LibreOfficeKit/LibreOfficeKit.h @@ -143,6 +143,8 @@ struct _LibreOfficeKitDocumentClass int nType, int nX, int nY); + /// @see lok::Document::resetSelection + void (*resetSelection)(LibreOfficeKitDocument* pThis); #endif // LOK_USE_UNSTABLE_API }; diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx b/include/LibreOfficeKit/LibreOfficeKit.hxx index 2993193..c19aa50 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.hxx +++ b/include/LibreOfficeKit/LibreOfficeKit.hxx @@ -153,6 +153,14 @@ public: { mpDoc->pClass->setGraphicSelection(mpDoc, nType, nX, nY); } + +/** + * Gets rid of any text or graphic selection. + */ +inline void resetSelection() +{ +mpDoc->pClass->resetSelection(mpDoc); +} #endif // LOK_USE_UNSTABLE_API }; diff --git a/include/vcl/ITiledRenderable.hxx b/include/vcl/ITiledRenderable.hxx index 7f63b1f..6bd75a4 100644 --- a/include/vcl/ITiledRenderable.hxx +++ b/include/vcl/ITiledRenderable.hxx @@ -122,6 +122,11 @@ public: * @see lok::Document::setGraphicSelection(). */ virtual void setGraphicSelection(int /*nType*/, int /*nX*/, int /*nY*/) { } + +/** + * @see lok::Document::resetSelection(). + */ +virtual void resetSelection() { } }; } // namespace vcl diff --git a/libreofficekit/source/gtk/lokdocview.c b/libreofficekit/source/gtk/lokdocview.c index 3980a50..cb967ff 100644 --- a/libreofficekit/source/gtk/lokdocview.c +++ b/libreofficekit/source/gtk/lokdocview.c @@ -973,6 +973,11 @@ SAL_DLLPUBLIC_EXPORT void lok_docview_set_edit( LOKDocView* pDocView, if (!pDocView->m_bEdit && bEdit) g_info("lok_docview_set_edit: entering edit mode"); +else if (pDocView->m_bEdit && !bEdit) +{ +g_info("lok_docview_set_edit: leaving edit mode"); +pDocView->pDocument->pClass->resetSelection(pDocView->pDocument); +} pDocView->m_bEdit = bEdit; g_signal_emit(pDocView, docview_signals[EDIT_CHANGED], 0, bWasEdit); gtk_widget_queue_draw(GTK_WIDGET(pDocView->pEventBox)); diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx index b840385..778d073 100644 --- a/sw/inc/unotxdoc.hxx +++ b/sw/inc/unotxdoc.hxx @@ -419,6 +419,8 @@ public: virtual void setTextSelection(int nType, int nX, int nY) SAL_OVERRIDE; /// @see vcl::ITiledRenderable::setGraphicSelection(). virtual void setGraphicSelection(int nType, int nX, int nY) SAL_OVERRIDE; +/// @see vcl::ITiledRenderable::resetSelection(). +virtual void resetSelection() SAL_OVERRIDE; voidInvalida
[Libreoffice-commits] core.git: include/LibreOfficeKit
include/LibreOfficeKit/LibreOfficeKit.h |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) New commits: commit f75aafb3a2ec7a53b1797db41b497e97558730f2 Author: Stephan Bergmann Date: Tue Mar 10 16:13:39 2015 +0100 Avoid undef use of null ptr, use offsetof instead Change-Id: I47b1d8e7b119e50406b50f580ee06f9f1b5f8401 diff --git a/include/LibreOfficeKit/LibreOfficeKit.h b/include/LibreOfficeKit/LibreOfficeKit.h index ea9846a..d4b7906 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.h +++ b/include/LibreOfficeKit/LibreOfficeKit.h @@ -25,8 +25,7 @@ typedef struct _LibreOfficeKitDocumentClass LibreOfficeKitDocumentClass; // Do we have an extended member in this struct ? #define LIBREOFFICEKIT_HAS_MEMBER(strct,member,nSize) \ -size_t)((unsigned char *)&((strct *) 0)->member) + \ - sizeof ((strct *) 0)->member)) <= (nSize)) +(offsetof(strct, member) < (nSize)) #define LIBREOFFICEKIT_HAS(pKit,member) LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKitClass,member,(pKit)->pClass->nSize) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - oox/source
oox/source/core/xmlfilterbase.cxx | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) New commits: commit ddb0bdef30dfb609378b73eb1a429943078bd611 Author: Julien Nabet Date: Tue Mar 3 23:46:32 2015 +0100 tdf#89791: DOCX: don't save custom.xml if it's empty Change-Id: I90f8e6c4de383b05345b8df9118000167bd20d2f Reviewed-on: https://gerrit.libreoffice.org/14735 Tested-by: Jenkins Reviewed-by: Julien Nabet Tested-by: Julien Nabet (cherry picked from commit 97c9bc9fada9cdfff956101a4a5e264b4dba58be) Reviewed-on: https://gerrit.libreoffice.org/14815 Tested-by: Christian Lohmaier Reviewed-by: Christian Lohmaier diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index 842429d..4ca796f 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -695,6 +695,13 @@ writeAppProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProp static void writeCustomProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProperties ) { +uno::Reference xUserDefinedProperties( xProperties->getUserDefinedProperties(), uno::UNO_QUERY ); +Sequence< PropertyValue > aprop( xUserDefinedProperties->getPropertyValues() ); +sal_Int32 nbCustomProperties = aprop.getLength(); +// tdf#89791 : if no custom properties, no need to add docProps/custom.x +if (!nbCustomProperties) +return; + rSelf.addRelation( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";, "docProps/custom.xml" ); @@ -706,9 +713,7 @@ writeCustomProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xP FSNS( XML_xmlns, XML_vt ), "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes";, FSEND ); -uno::Reference xUserDefinedProperties( xProperties->getUserDefinedProperties(), uno::UNO_QUERY ); -Sequence< PropertyValue > aprop( xUserDefinedProperties->getPropertyValues() ); -for ( sal_Int32 n = 0; n < aprop.getLength(); ++n ) +for ( sal_Int32 n = 0; n < nbCustomProperties; ++n ) { if ( !aprop[n].Name.isEmpty() ) { ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sw/source
sw/source/core/access/accpara.cxx |2 ++ 1 file changed, 2 insertions(+) New commits: commit ac1d20096f31899db10f86742e422f8e960223d5 Author: Jacobo Aragunde Pérez Date: Fri Mar 6 16:58:57 2015 +0100 tdf#84102: Expose duplicated "level" accessible attribute. There is no standard for this so some ATs will expect "level" and others "heading-level"; we will expose both. Change-Id: Ia935f7efdea11dc9be66fd9a54e1df0432c74662 (cherry picked from commit e697d9694a62b2943fa19b0fcd19e9b3354f6ad7) Reviewed-on: https://gerrit.libreoffice.org/14808 Tested-by: Christian Lohmaier Reviewed-by: Christian Lohmaier diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx index 2a0a67a..7f4652c 100644 --- a/sw/source/core/access/accpara.cxx +++ b/sw/source/core/access/accpara.cxx @@ -3905,6 +3905,8 @@ uno::Any SAL_CALL SwAccessibleParagraph::getExtendedAttributes() strHeading += OUString::number(nHeadingLevel, 10); strHeading += ";"; +strHeading += strHeading.copy(8); // tdf#84102: expose the same attribute with the name "level" + Ret <<= strHeading; return Ret; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: starmath/inc starmath/source
starmath/inc/unomodel.hxx|3 --- starmath/source/unomodel.cxx | 13 - 2 files changed, 16 deletions(-) New commits: commit 9de93c8e06da3f79929ac208b666fb562b48bd49 Author: Takeshi Abe Date: Thu Mar 5 22:14:10 2015 +0900 Spare extra call stack This also drops an unnecessary lock. Change-Id: Ia5eb459adf3cb585aa2484866670949120315780 Reviewed-on: https://gerrit.libreoffice.org/14765 Tested-by: Michael Stahl Reviewed-by: Michael Stahl diff --git a/starmath/inc/unomodel.hxx b/starmath/inc/unomodel.hxx index 9fcddc7..b6a1db0 100644 --- a/starmath/inc/unomodel.hxx +++ b/starmath/inc/unomodel.hxx @@ -96,9 +96,6 @@ public: // oox::FormulaImportBase virtual void readFormulaOoxml( oox::formulaimport::XmlStream& stream ) SAL_OVERRIDE; virtual Size getFormulaSize() const SAL_OVERRIDE; - -static ::com::sun::star::uno::Sequence< OUString > getSupportedServiceNames_Static(); -static OUString getImplementationName_Static(); }; diff --git a/starmath/source/unomodel.cxx b/starmath/source/unomodel.cxx index d45f732..f85e044 100644 --- a/starmath/source/unomodel.cxx +++ b/starmath/source/unomodel.cxx @@ -399,12 +399,6 @@ static sal_Int16 lcl_AnyToINT16(const uno::Any& rAny) OUString SmModel::getImplementationName(void) throw( uno::RuntimeException, std::exception ) { -return getImplementationName_Static(); -} - - -OUString SmModel::getImplementationName_Static() -{ return OUString("com.sun.star.comp.math.FormulaDocument"); } @@ -415,13 +409,6 @@ sal_Bool SmModel::supportsService(const OUString& rServiceName) throw( uno::Runt uno::Sequence< OUString > SmModel::getSupportedServiceNames(void) throw( uno::RuntimeException, std::exception ) { -return getSupportedServiceNames_Static(); -} - -uno::Sequence< OUString > SmModel::getSupportedServiceNames_Static(void) -{ -SolarMutexGuard aGuard; - return uno::Sequence{ "com.sun.star.document.OfficeDocument", "com.sun.star.formula.FormulaProperties" ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sw/qa sw/source
sw/qa/core/test_ToxWhitespaceStripper.cxx| 14 ++ sw/source/core/tox/ToxWhitespaceStripper.cxx |7 +++ 2 files changed, 21 insertions(+) New commits: commit 09669c4f89ad5c4c012ba114811b49f7805e3801 Author: Tobias Lippert Date: Sun Feb 22 13:59:03 2015 +0100 tdf#89520 Make TOX creation more robust The code is now more robust and will accept illegal arguments. Change-Id: I43ae82b953cea845fb170aa7b6e8d42470ad4e5e Reviewed-on: https://gerrit.libreoffice.org/14580 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara (cherry picked from commit 4bdbea5447f36beb9cc33df173a89a49a9918290) Signed-off-by: Michael Stahl diff --git a/sw/qa/core/test_ToxWhitespaceStripper.cxx b/sw/qa/core/test_ToxWhitespaceStripper.cxx index 30da0bd..5381933 100644 --- a/sw/qa/core/test_ToxWhitespaceStripper.cxx +++ b/sw/qa/core/test_ToxWhitespaceStripper.cxx @@ -32,10 +32,14 @@ class ToxWhitespaceStripperTest : public CppUnit::TestFixture void PositionAfterStringCanBeRequested(); +void +InvalidPositionIsMappedToLastEntry(); + CPPUNIT_TEST_SUITE(ToxWhitespaceStripperTest); CPPUNIT_TEST(MappingCharactersToVariousStrippedStringsWorks); CPPUNIT_TEST(StrippingWhitespacesFromVariousStringsWorks); CPPUNIT_TEST(PositionAfterStringCanBeRequested); +CPPUNIT_TEST(InvalidPositionIsMappedToLastEntry); CPPUNIT_TEST_SUITE_END(); @@ -141,6 +145,16 @@ ToxWhitespaceStripperTest::PositionAfterStringCanBeRequested() CPPUNIT_ASSERT_EQUAL(expected, sut.GetPositionInStrippedString(test.getLength())); } +void +ToxWhitespaceStripperTest::InvalidPositionIsMappedToLastEntry() +{ +OUString test("ab c"); +ToxWhitespaceStripper sut(test); +sal_Int32 expected = 4; // the length of the string after merging the two whitespaces +sal_Int32 result = sut.GetPositionInStrippedString(40); // a value past the original string length +CPPUNIT_ASSERT_EQUAL(expected, result); +} + // Put the test suite in the registry CPPUNIT_TEST_SUITE_REGISTRATION(ToxWhitespaceStripperTest); diff --git a/sw/source/core/tox/ToxWhitespaceStripper.cxx b/sw/source/core/tox/ToxWhitespaceStripper.cxx index cd0024e..4918a73 100644 --- a/sw/source/core/tox/ToxWhitespaceStripper.cxx +++ b/sw/source/core/tox/ToxWhitespaceStripper.cxx @@ -10,6 +10,8 @@ #include "ToxWhitespaceStripper.hxx" #include "rtl/ustrbuf.hxx" +#include "sal/log.hxx" + #include namespace sw { @@ -50,6 +52,11 @@ sal_Int32 ToxWhitespaceStripper::GetPositionInStrippedString(sal_Int32 pos) const { size_t upos = boost::numeric_cast(pos); +if (upos >= mNewPositions.size()) { +SAL_WARN("sw.core", "Requested position of TOX entry text which does not exist. " +"Maybe the formatting hint is corrupt?"); +return mNewPositions.back(); +} return mNewPositions.at(upos); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: vcl/source
vcl/source/gdi/pdfwriter_impl.cxx | 22 +++--- 1 file changed, 11 insertions(+), 11 deletions(-) New commits: commit 07ca1c58d779f4daa4c84895d914780a1c814944 Author: Tor Lillqvist Date: Tue Mar 10 16:07:57 2015 +0200 Fix signature overflow check in the NSS case We didn't actually check this correctly at all, but gladly overwrote the allocated part of the output PDF, thus obviously rendering it invalid. The parameter passed to PORT_NewArea is a default chunk size, not a maximum anything, so it was misleading, even if not wrong as such, to pass MAX_SIGNATURE_CONTENT_LENGTH to it. Use 1 instead. No need to do the overflow check twice in the Win32 case. Change-Id: Ifa796dbb74b32e857f7184c1e8ada97ba124b020 diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 838a882..55a918b 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -6916,7 +6916,7 @@ bool PDFWriterImpl::finalizeSignature() SECItem ts_cms_output; ts_cms_output.data = 0; ts_cms_output.len = 0; -PLArenaPool *ts_arena = PORT_NewArena(MAX_SIGNATURE_CONTENT_LENGTH); +PLArenaPool *ts_arena = PORT_NewArena(1); NSSCMSEncoderContext *ts_cms_ecx; ts_cms_ecx = NSS_CMSEncoder_Start(ts_cms_msg, NULL, NULL, &ts_cms_output, ts_arena, PDFSigningPKCS7PasswordCallback, pass, NULL, NULL, NULL, NULL); @@ -7199,7 +7199,7 @@ bool PDFWriterImpl::finalizeSignature() SECItem cms_output; cms_output.data = 0; cms_output.len = 0; -PLArenaPool *arena = PORT_NewArena(MAX_SIGNATURE_CONTENT_LENGTH); +PLArenaPool *arena = PORT_NewArena(1); NSSCMSEncoderContext *cms_ecx; // Possibly it would work to even just pass NULL for the password callback function and its @@ -7233,11 +7233,20 @@ bool PDFWriterImpl::finalizeSignature() } #endif +if (cms_output.len*2 > MAX_SIGNATURE_CONTENT_LENGTH) +{ +SAL_WARN("vcl.pdfwriter", "Signature requires more space (" << cms_output.len*2 << ") than we reserved (" << MAX_SIGNATURE_CONTENT_LENGTH << ")"); +NSS_CMSMessage_Destroy(cms_msg); +return false; +} + OStringBuffer cms_hexbuffer; for (unsigned int i = 0; i < cms_output.len ; i++) appendHex(cms_output.data[i], cms_hexbuffer); +assert(cms_hexbuffer.getLength() <= MAX_SIGNATURE_CONTENT_LENGTH); + // Set file pointer to the m_nSignatureContentOffset, we're ready to overwrite PKCS7 object nWritten = 0; CHECK_RETURN( (osl::File::E_None == m_aFile.setPos(osl_Pos_Absolut, m_nSignatureContentOffset)) ); @@ -7395,15 +7404,6 @@ bool PDFWriterImpl::finalizeSignature() return false; } -if (nTsSigLen*2 > MAX_SIGNATURE_CONTENT_LENGTH) -{ -SAL_WARN("vcl.pdfwriter", "Signature requires more space (" << nTsSigLen*2 << ") than we reserved (" << MAX_SIGNATURE_CONTENT_LENGTH << ")"); -CryptMsgClose(hDecodedMsg); -CryptMsgClose(hMsg); -CertFreeCertificateContext(pCertContext); -return false; -} - SAL_INFO("vcl.pdfwriter", "nTsSigLen=" << nTsSigLen); boost::scoped_array pTsSig(new BYTE[nTsSigLen]); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: svx/source
svx/source/dialog/srchdlg.cxx | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) New commits: commit 5b517719e894a179ee5df64fe5e56e26398e8512 Author: Tobias Madl Date: Tue Mar 10 14:05:49 2015 + Idle/Timer: reverted idle to timer This task waits for user io. Change-Id: Id5b3725b316f1bbd73e94d5368bc0d5c7d057189 diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx index 2b03bbc..8e4d3c6 100644 --- a/svx/source/dialog/srchdlg.cxx +++ b/svx/source/dialog/srchdlg.cxx @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include #include @@ -111,7 +111,7 @@ struct SearchDlg_Impl boolbSaveToModule : 1, bFocusOnSearch : 1; sal_uInt16* pRanges; -IdleaSelectionIdle; +Timer aSelectionTimer; uno::Reference< frame::XDispatch > xCommand1Dispatch; uno::Reference< frame::XDispatch > xCommand2Dispatch; @@ -365,8 +365,8 @@ void SvxSearchDialog::Construct_Impl() { // temporary to avoid incompatibility pImpl = new SearchDlg_Impl(); -pImpl->aSelectionIdle.SetPriority( SchedulerPriority::LOWEST ); -pImpl->aSelectionIdle.SetIdleHdl( +pImpl->aSelectionTimer.SetTimeout( 500 ); +pImpl->aSelectionTimer.SetTimeoutHdl( LINK( this, SvxSearchDialog, TimeoutHdl_Impl ) ); EnableControls_Impl( 0 ); @@ -409,7 +409,7 @@ void SvxSearchDialog::Construct_Impl() new SvxSearchController( SID_SEARCH_OPTIONS, rBindings, *this ); rBindings.LeaveRegistrations(); rBindings.GetDispatcher()->Execute( FID_SEARCH_ON, SfxCallMode::SLOT, ppArgs ); -pImpl->aSelectionIdle.Start(); +pImpl->aSelectionTimer.Start(); SvtCJKOptions aCJKOptions; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
tdf#89872, tdf#88547 use of date arrays as function arguments
Hi Eike, The -now reverted- patch for tdf#88547 made it possible to convert an array of date strings to an array of numeric date values. From tdf#88547 I learned that Excel accepts these arguments in functions like WORKDAY.INTL(), NETWORKDAYS.INTL(), MODE.MULT() and others. In https://bugs.documentfoundation.org/show_bug.cgi?id=89872#c3 you say "The way how GetNumberSequenceArray() is used (and was implemented) it should ignore all string and empty values like all spreadsheet functions do that expect a number sequence as parameter.". Now MODE.MULT() and the like do expect a number sequence as parameter _and_ are expected to accept arrays of date strings. I want to fix 88547 in a way that doesn't break the use of GetNumberSequenceArray() as it did with my original patch, but I'm not sure which way to go. Currently I think a proper solution would be to check whether we have a real non-empty string before we convert it to numeric and push an error when conversion to numeric fails; i.e. expand on my original patch of GetNumberSequenceArray(). Given that you know much more of this function and its purpose and history that I do (or can find out from git), I would like to hear your opinion/suggestion before I start coding. Winfried ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: 2 commits - vcl/headless
vcl/headless/svpgdi.cxx | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) New commits: commit 997654c21dd3758a58743e9eb660bf0099fd6007 Author: Caolán McNamara Date: Tue Mar 10 11:38:52 2015 + make SvpSalGraphics::getBitmap more readable Change-Id: I4eb896813d6cec49bf5f1c8ac2ee8fafc06fbf52 diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx index 6e04a01..a0bea2b 100644 --- a/vcl/headless/svpgdi.cxx +++ b/vcl/headless/svpgdi.cxx @@ -651,18 +651,21 @@ void SvpSalGraphics::drawMask( const SalTwoRect& rPosAry, SalBitmap* SvpSalGraphics::getBitmap( long nX, long nY, long nWidth, long nHeight ) { -basebmp::BitmapDeviceSharedPtr aCopy; +SvpSalBitmap* pBitmap = new SvpSalBitmap(); + if (m_aDevice) +{ +basebmp::BitmapDeviceSharedPtr aCopy; aCopy = cloneBitmapDevice(basegfx::B2IVector(nWidth, nHeight), m_aDevice); -basegfx::B2IBox aSrcRect( nX, nY, nX+nWidth, nY+nHeight ); -basegfx::B2IBox aDestRect( 0, 0, nWidth, nHeight ); +basegfx::B2IBox aSrcRect( nX, nY, nX+nWidth, nY+nHeight ); +basegfx::B2IBox aDestRect( 0, 0, nWidth, nHeight ); -if (aCopy) aCopy->drawBitmap( m_aOrigDevice, aSrcRect, aDestRect, basebmp::DrawMode_PAINT ); -SvpSalBitmap* pBitmap = new SvpSalBitmap(); -pBitmap->setBitmap( aCopy ); +pBitmap->setBitmap( aCopy ); +} + return pBitmap; } commit 662f88b0b0c3d7c10b7a8e5c8298f320e3151c94 Author: Caolán McNamara Date: Mon Mar 9 20:48:59 2015 + I don't think we should clip when using getBitmap this solves the bug of icons in the standard toolbar under gtk3 of getting rendered with a black background on first render Change-Id: I73bae4cd0b9f38c9e9caef8019d773d42b5e8f10 diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx index 9cd85e1..6e04a01 100644 --- a/vcl/headless/svpgdi.cxx +++ b/vcl/headless/svpgdi.cxx @@ -658,8 +658,7 @@ SalBitmap* SvpSalGraphics::getBitmap( long nX, long nY, long nWidth, long nHeigh basegfx::B2IBox aSrcRect( nX, nY, nX+nWidth, nY+nHeight ); basegfx::B2IBox aDestRect( 0, 0, nWidth, nHeight ); -SvpSalGraphics::ClipUndoHandle aUndo( this ); -if (!isClippedSetup(aDestRect, aUndo) && aCopy) +if (aCopy) aCopy->drawBitmap( m_aOrigDevice, aSrcRect, aDestRect, basebmp::DrawMode_PAINT ); SvpSalBitmap* pBitmap = new SvpSalBitmap(); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 3 commits - include/LibreOfficeKit libreofficekit/qa libreofficekit/source
include/LibreOfficeKit/LibreOfficeKitGtk.h |3 + libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 26 +++ libreofficekit/source/gtk/lokdocview.c | 44 +++- 3 files changed, 64 insertions(+), 9 deletions(-) New commits: commit 4f239cc722f72d7be91bca4276d873d2282b2e6c Author: Miklos Vajna Date: Tue Mar 10 12:50:59 2015 +0100 lokdocview: add edit-changed signal, so toolbar toggle button is in sync Editing can start by clicking into the widget or by pressing the toggle button on the toolbar. In the first case the widget should emit a signal, so the the toggle button's state can be up to date. In both toggle button <-> LOK widget direction only update the state if it's not yet up to date to avoid infinite loops. Change-Id: I84c9e7757cd7cde42a95f67f0cb28f9ad6984e7a diff --git a/include/LibreOfficeKit/LibreOfficeKitGtk.h b/include/LibreOfficeKit/LibreOfficeKitGtk.h index d6f6c3d..77e9118 100644 --- a/include/LibreOfficeKit/LibreOfficeKitGtk.h +++ b/include/LibreOfficeKit/LibreOfficeKitGtk.h @@ -97,6 +97,7 @@ struct _LOKDocView struct _LOKDocViewClass { GtkScrolledWindowClass parent_class; + void (* edit_changed) (LOKDocView* pView, gboolean was_edit); }; guint lok_docview_get_type(void); diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index 360d9f4..32a107e 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -34,6 +34,7 @@ static int help() } static GtkWidget* pDocView; +static GtkToolItem* pEnableEditing; static GtkWidget* pDocViewQuad; static GtkWidget* pVBox; // GtkComboBox requires gtk 2.24 or later @@ -105,11 +106,22 @@ void changeZoom( GtkWidget* pButton, gpointer /* pItem */ ) } } +/// User clicked on the button -> inform LOKDocView. void toggleEditing(GtkWidget* /*pButton*/, gpointer /*pItem*/) { LOKDocView* pLOKDocView = LOK_DOCVIEW(pDocView); -bool bEdit = lok_docview_get_edit(pLOKDocView); -lok_docview_set_edit(pLOKDocView, !bEdit); +bool bActive = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(pEnableEditing)); +if (lok_docview_get_edit(pLOKDocView) != bActive) +lok_docview_set_edit(pLOKDocView, bActive); +} + +/// LOKDocView changed edit state -> inform the tool button. +static void signalEdit(LOKDocView* pLOKDocView, gboolean bWasEdit, gpointer /*pData*/) +{ +gboolean bEdit = lok_docview_get_edit(pLOKDocView); +g_info("signalEdit: %d -> %d", bWasEdit, lok_docview_get_edit(pLOKDocView)); +if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(pEnableEditing)) != bEdit) + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(pEnableEditing), bEdit); } void changeQuadView( GtkWidget* /*pButton*/, gpointer /* pItem */ ) @@ -347,7 +359,7 @@ int main( int argc, char* argv[] ) g_signal_connect( G_OBJECT(pEnableQuadView), "toggled", G_CALLBACK(changeQuadView), NULL ); gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1); -GtkToolItem* pEnableEditing = gtk_toggle_tool_button_new(); +pEnableEditing = gtk_toggle_tool_button_new(); gtk_tool_button_set_label(GTK_TOOL_BUTTON(pEnableEditing), "Editing"); gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pEnableEditing, -1); g_signal_connect(G_OBJECT(pEnableEditing), "toggled", G_CALLBACK(toggleEditing), NULL); @@ -357,6 +369,7 @@ int main( int argc, char* argv[] ) // Docview pDocView = lok_docview_new( pOffice ); pDocViewQuad = 0; +g_signal_connect(pDocView, "edit-changed", G_CALLBACK(signalEdit), NULL); // Input handling. g_signal_connect(pWindow, "key-press-event", G_CALLBACK(signalKey), NULL); diff --git a/libreofficekit/source/gtk/lokdocview.c b/libreofficekit/source/gtk/lokdocview.c index e12266b..3980a50 100644 --- a/libreofficekit/source/gtk/lokdocview.c +++ b/libreofficekit/source/gtk/lokdocview.c @@ -232,7 +232,8 @@ gboolean lcl_signalButton(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi } } -lok_docview_set_edit(pDocView, TRUE); +if (!pDocView->m_bEdit) +lok_docview_set_edit(pDocView, TRUE); switch (pEvent->type) { @@ -289,9 +290,27 @@ SAL_DLLPUBLIC_EXPORT guint lok_docview_get_type() return lok_docview_type; } +enum +{ +EDIT_CHANGED, +LAST_SIGNAL +}; + +static guint docview_signals[LAST_SIGNAL] = { 0 }; + static void lok_docview_class_init( LOKDocViewClass* pClass ) { -(void)pClass; +GObjectClass *gobject_class = G_OBJECT_CLASS(pClass); +pClass->edit_changed = NULL; +docview_signals[EDIT_CHANGED] = +g_signal_new("edit-changed", + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (LOKDocViewClass, edit_changed), +
[Libreoffice-commits] core.git: vcl/osx
vcl/osx/salinst.cxx |7 +-- vcl/osx/salnstimer.mm |2 +- vcl/osx/saltimer.cxx |9 ++--- 3 files changed, 12 insertions(+), 6 deletions(-) New commits: commit bbd419d9bfa8fee66d3a9cfa8b592087e25da285 Author: Stephan Bergmann Date: Tue Mar 10 12:52:36 2015 +0100 Avoid calls on null mpSalTimer on OS X all three addressed places hit frequently now during "make check", likely related to recent changes to timer/idle code? Change-Id: I75963c707807c29db7865b11f9ed532b779765d8 diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx index b125230..105a9a9 100644 --- a/vcl/osx/salinst.cxx +++ b/vcl/osx/salinst.cxx @@ -646,8 +646,11 @@ void AquaSalInstance::Yield( bool bWait, bool bHandleAllCurrentEvents ) { // this cause crashes on MacOSX 10.4 // [AquaSalTimer::pRunningTimer fire]; -bool idle = true; // TODO -ImplGetSVData()->mpSalTimer->CallCallback( idle ); +if (ImplGetSVData()->mpSalTimer != nullptr) +{ +bool idle = true; // TODO +ImplGetSVData()->mpSalTimer->CallCallback( idle ); +} } } diff --git a/vcl/osx/salnstimer.mm b/vcl/osx/salnstimer.mm index fe0e907..49c7526 100644 --- a/vcl/osx/salnstimer.mm +++ b/vcl/osx/salnstimer.mm @@ -32,9 +32,9 @@ ImplSVData* pSVData = ImplGetSVData(); if( AquaSalTimer::bDispatchTimer ) { +YIELD_GUARD; if( pSVData->mpSalTimer ) { -YIELD_GUARD; bool idle = true; // TODO pSVData->mpSalTimer->CallCallback( idle ); diff --git a/vcl/osx/saltimer.cxx b/vcl/osx/saltimer.cxx index 6c83af7..3770447 100644 --- a/vcl/osx/saltimer.cxx +++ b/vcl/osx/saltimer.cxx @@ -90,9 +90,12 @@ void AquaSalTimer::handleStartTimerEvent( NSEvent* pEvent ) if( (posted - current) <= 0.0 ) { YIELD_GUARD; -// timer already elapsed since event posted -bool idle = true; // TODO -pSVData->mpSalTimer->CallCallback( idle ); +if( pSVData->mpSalTimer ) +{ +// timer already elapsed since event posted +bool idle = true; // TODO +pSVData->mpSalTimer->CallCallback( idle ); +} } ImplSalStartTimer( sal_uLong( [pEvent data1] ) ); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: starmath/inc starmath/source
starmath/inc/parse.hxx|7 --- starmath/source/cfgitem.hxx | 11 --- starmath/source/tmpdevice.hxx |6 -- 3 files changed, 16 insertions(+), 8 deletions(-) New commits: commit 62c9eb97853dcdb89bf30983c5318c45ed8e977c Author: Takeshi Abe Date: Tue Mar 10 18:19:05 2015 +0900 Replace boost::noncopyable with use of SAL_DELETED_FUNCTION Change-Id: Id657299322ddefb095a2f192df818a873498e411 Reviewed-on: https://gerrit.libreoffice.org/14825 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/starmath/inc/parse.hxx b/starmath/inc/parse.hxx index 8219407..0ff2afe 100644 --- a/starmath/inc/parse.hxx +++ b/starmath/inc/parse.hxx @@ -28,9 +28,7 @@ #include "error.hxx" #include "node.hxx" -#include - -class SmParser : boost::noncopyable +class SmParser { OUStringm_aBufferString; SmToken m_aCurToken; @@ -51,6 +49,9 @@ class SmParser : boost::noncopyable //! locale where '.' is decimal separator! ::com::sun::star::lang::Locale m_aDotLoc; +SmParser(const SmParser&) SAL_DELETED_FUNCTION; +SmParser& operator=(const SmParser&) SAL_DELETED_FUNCTION; + #if OSL_DEBUG_LEVEL > 1 boolIsDelimiter( const OUString &rTxt, sal_Int32 nPos ); #endif diff --git a/starmath/source/cfgitem.hxx b/starmath/source/cfgitem.hxx index 269a857..bcbfe4e 100644 --- a/starmath/source/cfgitem.hxx +++ b/starmath/source/cfgitem.hxx @@ -33,7 +33,6 @@ #include #include -#include class SmSym; class SmFormat; @@ -64,11 +63,14 @@ struct SmFntFmtListEntry SmFntFmtListEntry( const OUString &rId, const SmFontFormat &rFntFmt ); }; -class SmFontFormatList : private boost::noncopyable +class SmFontFormatList { std::deque aEntries; boolbModified; +SmFontFormatList(const SmFontFormatList&) SAL_DELETED_FUNCTION; +SmFontFormatList& operator=(const SmFontFormatList&) SAL_DELETED_FUNCTION; + public: SmFontFormatList(); @@ -88,7 +90,7 @@ public: voidSetModified( bool bVal ){ bModified = bVal; } }; -class SmMathConfig : public utl::ConfigItem, private boost::noncopyable +class SmMathConfig : public utl::ConfigItem { SmFormat * pFormat; SmCfgOther *pOther; @@ -97,6 +99,9 @@ class SmMathConfig : public utl::ConfigItem, private boost::noncopyable boolbIsOtherModified; boolbIsFormatModified; +SmMathConfig(const SmMathConfig&) SAL_DELETED_FUNCTION; +SmMathConfig& operator=(const SmMathConfig&) SAL_DELETED_FUNCTION; + voidStripFontFormatList( const std::vector< SmSym > &rSymbols ); diff --git a/starmath/source/tmpdevice.hxx b/starmath/source/tmpdevice.hxx index 12c1d55..34638da 100644 --- a/starmath/source/tmpdevice.hxx +++ b/starmath/source/tmpdevice.hxx @@ -20,15 +20,17 @@ #ifndef INCLUDED_STARMATH_SOURCE_TMPDEVICE_HXX #define INCLUDED_STARMATH_SOURCE_TMPDEVICE_HXX -#include #include #include #include -class SmTmpDevice: private boost::noncopyable +class SmTmpDevice { OutputDevice &rOutDev; +SmTmpDevice(const SmTmpDevice&) SAL_DELETED_FUNCTION; +SmTmpDevice& operator=(const SmTmpDevice&) SAL_DELETED_FUNCTION; + Color Impl_GetColor( const Color& rColor ); public: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: external/poppler
external/poppler/ubsan.patch.0 | 37 + 1 file changed, 37 insertions(+) New commits: commit a788eea404b71ddca24eb13506fd51ea41485a69 Author: Stephan Bergmann Date: Tue Mar 10 12:35:37 2015 +0100 external/poppler: Work around -fsanitize=shift Change-Id: I5d9734f302ff58637f69c1574bc39ca85ff992e7 diff --git a/external/poppler/ubsan.patch.0 b/external/poppler/ubsan.patch.0 index 2db8c5a..2b0b334 100644 --- a/external/poppler/ubsan.patch.0 +++ b/external/poppler/ubsan.patch.0 @@ -1,3 +1,40 @@ +--- poppler/Stream.cc poppler/Stream.cc +@@ -2966,12 +2966,12 @@ + } else { + amp = 0; + } +- data[0] += (*prevDC += amp) << scanInfo.al; ++ data[0] += (int) ((unsigned) (*prevDC += amp) << scanInfo.al); + } else { + if ((bit = readBit()) == ) { + return gFalse; + } +- data[0] += bit << scanInfo.al; ++ data[0] += (unsigned) bit << scanInfo.al; + } + ++i; + } +@@ -3064,7 +3064,7 @@ + j = dctZigZag[i++]; + } + } +- data[j] = amp << scanInfo.al; ++ data[j] = (unsigned) amp << scanInfo.al; + } + } + +@@ -3251,8 +3251,8 @@ + v3 = p[6]; + v4 = (dctSqrt1d2 * (p[1] - p[7]) + 128) >> 8; + v7 = (dctSqrt1d2 * (p[1] + p[7]) + 128) >> 8; +-v5 = p[3] << 4; +-v6 = p[5] << 4; ++v5 = (unsigned) p[3] << 4; ++v6 = (unsigned) p[5] << 4; + + // stage 3 + t = (v0 - v1+ 1) >> 1; --- poppler/XRef.cc +++ poppler/XRef.cc @@ -293,6 +293,7 @@ ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: avmedia/source
avmedia/source/framework/mediatoolbox.cxx |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) New commits: commit 686ee0aaca664ebb276724832830ecb038f07978 Author: Miklos Vajna Date: Tue Mar 10 11:53:23 2015 +0100 avmedia: avoid passing an empty any to InitPropertySequence() Regression from b1534edf523a405b91ad04c5351735e745ceb7ee (tdf#89592 Using initializer_lists to populate Sequence, 2015-03-07). Additionally, avoid makeAny() on the Any, the original code didn't do that. Thanks to lgodard/sberg for noticing these. Change-Id: Icb3a6039885c582ba9f789c5c4768b865b593aee diff --git a/avmedia/source/framework/mediatoolbox.cxx b/avmedia/source/framework/mediatoolbox.cxx index d33cd93..280cdb5 100644 --- a/avmedia/source/framework/mediatoolbox.cxx +++ b/avmedia/source/framework/mediatoolbox.cxx @@ -149,12 +149,12 @@ void MediaToolBoxControl::implExecuteMediaControl( const MediaItem& rItem ) { MediaItem aExecItem( SID_AVMEDIA_TOOLBOX ); uno::AnyaAny; -auto aArgs(::comphelper::InitPropertySequence({ -{ "AVMediaToolBox", makeAny(aAny) } -})); aExecItem.merge( rItem ); aExecItem.QueryValue( aAny ); +auto aArgs(::comphelper::InitPropertySequence({ +{ "AVMediaToolBox", aAny } +})); Dispatch( ".uno:AVMediaToolBox" , aArgs ); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sc/inc sc/source
sc/inc/tokenarray.hxx |1 + sc/source/core/tool/token.cxx |6 ++ sc/source/filter/inc/tokstack.hxx |2 +- 3 files changed, 8 insertions(+), 1 deletion(-) New commits: commit 94eed3f5bb675d60239414ad2289bde7cc4d4f8e Author: Tor Lillqvist Date: Tue Mar 10 09:04:57 2015 +0200 Fix issue in re-use of ScTokenArray objects from a TokenPool The TokenPool::operator[] is used to initialise and take into use an object from the pool. Which is a fascinating thing as such and probably not entirely in good style. Anyway, the objects in the pool are of type ScTokenArray, a class derived from FormulaTokenArray. The operator[] called the FormulaTokenArray::Clear() function to initialise the object. This left the fields added in ScTokenArray uninitialised, having whatever value the previous use of the object had set. Which of course is bad. In practice, this showed up in the handling of formulas in the .xls input filter. If an earlier (or the first?) formula had happened to be one for which we don't want to use OpenCL, the meVectorState of its ScTokenArray object in the pool had been set to FormulaVectorDisabled. When the same pool object was later re-used for another formula, it kept that same meVectorState, even if there was no reason to. Thus formula groups that should have been OpenCL accelerated weren't. This can have a significant impact on performance of document loading and recalculation for large documents. I added a function to ScTokenArray to clear (initialise) such an object, both the FormulaTokenArray part and the ScTokenArray-specific part, and call that instead. This fixes the issue. I named the added function ClearScTokenArray() to make it clear that it is a separate function. Sure, possibly Clear() should be made into a virtual of FormulaTokenArry and overridden in ScTokenArray, and the overriding Clear() would first call the base class's Clear(). But I can't be sure that there aren't other calls of FormulaTokenArray::Clear() that *must* mean the base class one. Better safe than sorry. And of course, I did *not* want to name the function in ScTokenArray also "Clear()", like in the base class, without it being virtual. That is horrible style in my opinion, even if there certainly is precedence for such even in the very same classes, i.e. the Clone() function... Change-Id: I0e0e13e5ca705603005a1e0a46866f095cd2ac4d Reviewed-on: https://gerrit.libreoffice.org/14824 Reviewed-by: Michael Meeks Tested-by: Markus Mohrhard Reviewed-by: Markus Mohrhard diff --git a/sc/inc/tokenarray.hxx b/sc/inc/tokenarray.hxx index 54f1d1e..cd32952 100644 --- a/sc/inc/tokenarray.hxx +++ b/sc/inc/tokenarray.hxx @@ -57,6 +57,7 @@ public: /// Assignment with references to FormulaToken entries (not copied!) ScTokenArray( const ScTokenArray& ); virtual ~ScTokenArray(); +void ClearScTokenArray(); ScTokenArray* Clone() const;/// True copy! // An estimate of the number of cells referenced by the token array diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index 7710f30..1d2a0a6 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -1595,6 +1595,12 @@ ScTokenArray& ScTokenArray::operator=( const ScTokenArray& rArr ) return *this; } +void ScTokenArray::ClearScTokenArray() +{ +Clear(); +meVectorState = FormulaVectorEnabled; +} + ScTokenArray* ScTokenArray::Clone() const { ScTokenArray* p = new ScTokenArray(); diff --git a/sc/source/filter/inc/tokstack.hxx b/sc/source/filter/inc/tokstack.hxx index 9bf137d..63b5e7b 100644 --- a/sc/source/filter/inc/tokstack.hxx +++ b/sc/source/filter/inc/tokstack.hxx @@ -362,7 +362,7 @@ inline const TokenId TokenPool::LastId( void ) const const inline ScTokenArray* TokenPool::operator []( const TokenId nId ) { -pScToken->Clear(); +pScToken->ClearScTokenArray(); if( nId ) {//...only if nId > 0! ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: dbaccess/qa reportdesign/source sc/source sw/source
dbaccess/qa/unit/embeddeddb_performancetest.cxx | 11 +-- reportdesign/source/ui/report/ViewsWindow.cxx | 17 +++-- sc/source/filter/xcl97/XclExpChangeTrack.cxx|3 --- sw/source/filter/ww8/ww8scan.cxx|5 +++-- sw/source/ui/dialog/swdlgfact.cxx |4 +--- 5 files changed, 12 insertions(+), 28 deletions(-) New commits: commit 95af5f51fa6c7a0129360bb9df687fb8660fd3c9 Author: Caolán McNamara Date: Tue Mar 10 09:47:02 2015 + V668 no sense in testing the result of new against null Change-Id: I85993df91bd14966f9175c356966fbd8eb1a927d diff --git a/dbaccess/qa/unit/embeddeddb_performancetest.cxx b/dbaccess/qa/unit/embeddeddb_performancetest.cxx index 1eebc22..a639d72 100644 --- a/dbaccess/qa/unit/embeddeddb_performancetest.cxx +++ b/dbaccess/qa/unit/embeddeddb_performancetest.cxx @@ -129,16 +129,7 @@ SvFileStream* EmbeddedDBPerformanceTest::getWordListStream() { OUString wlPath; createFileURL("wordlist", wlPath); - -SvFileStream *pFile(new SvFileStream(wlPath, StreamMode::READ)); - -if (!pFile) -{ -fprintf(stderr, "Please ensure the wordlist is present\n"); -CPPUNIT_ASSERT(false); -} - -return pFile; +return new SvFileStream(wlPath, StreamMode::READ); } void EmbeddedDBPerformanceTest::printTimes( diff --git a/reportdesign/source/ui/report/ViewsWindow.cxx b/reportdesign/source/ui/report/ViewsWindow.cxx index c849571..730b372 100644 --- a/reportdesign/source/ui/report/ViewsWindow.cxx +++ b/reportdesign/source/ui/report/ViewsWindow.cxx @@ -1011,18 +1011,15 @@ void OViewsWindow::BegDragObj_createInvisibleObjectAtPosition(const Rectangle& _ if ( &rView != &_rSection ) { SdrObject *pNewObj = new SdrUnoObj(OUString("com.sun.star.form.component.FixedText")); -if (pNewObj) -{ -pNewObj->SetLogicRect(_aRect); +pNewObj->SetLogicRect(_aRect); -pNewObj->Move(Size(0, aNewPos.Y())); -bool bChanged = rView.GetModel()->IsChanged(); -rReportSection.getPage()->InsertObject(pNewObj); -rView.GetModel()->SetChanged(bChanged); -m_aBegDragTempList.push_back(pNewObj); +pNewObj->Move(Size(0, aNewPos.Y())); +bool bChanged = rView.GetModel()->IsChanged(); +rReportSection.getPage()->InsertObject(pNewObj); +rView.GetModel()->SetChanged(bChanged); +m_aBegDragTempList.push_back(pNewObj); -rView.MarkObj( pNewObj, rView.GetSdrPageView() ); -} +rView.MarkObj( pNewObj, rView.GetSdrPageView() ); } const long nSectionHeight = rReportSection.PixelToLogic(rReportSection.GetOutputSizePixel()).Height(); aNewPos.Y() -= nSectionHeight; diff --git a/sc/source/filter/xcl97/XclExpChangeTrack.cxx b/sc/source/filter/xcl97/XclExpChangeTrack.cxx index 2989f20..e90ebfa 100644 --- a/sc/source/filter/xcl97/XclExpChangeTrack.cxx +++ b/sc/source/filter/xcl97/XclExpChangeTrack.cxx @@ -1546,9 +1546,6 @@ ScChangeTrack* XclExpChangeTrack::CreateTempChangeTrack() // create empty document pTempDoc = new ScDocument; -OSL_ENSURE( pTempDoc, "XclExpChangeTrack::CreateTempChangeTrack - no temp document" ); -if( !pTempDoc ) -return NULL; // adjust table count SCTAB nOrigCount = GetDoc().GetTableCount(); diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx index 22d93f1..8c4f828 100644 --- a/sw/source/filter/ww8/ww8scan.cxx +++ b/sw/source/filter/ww8/ww8scan.cxx @@ -2884,9 +2884,10 @@ bool WW8PLCFx_Fc_FKP::NewFkp() pFkp = *aIter; pFkp->Reset(GetStartFc()); } -else if (0 != (pFkp = new WW8Fkp(GetFIBVersion(), pFKPStrm, pDataStrm, nPo, -pFkpSizeTab[ ePLCF ], ePLCF, GetStartFc( +else { +pFkp = new WW8Fkp(GetFIBVersion(), pFKPStrm, pDataStrm, nPo, +pFkpSizeTab[ ePLCF ], ePLCF, GetStartFc()); maFkpCache.push_back(pFkp); if (maFkpCache.size() > eMaxCache) diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index 8bc1190..a64cb08 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -987,9 +987,7 @@ AbstractInsFootNoteDlg* SwAbstractDialogFactory_Impl::CreateInsFootNoteDlg( VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateTitlePageDlg ( vcl::Window *pParent ) { Dialog* pDlg = new SwTitlePageDlg( pParent ); -if ( pDlg ) -return new VclAbstractDialog_Impl( pDlg ); -return 0; +return new VclAbstractDialog_Impl( pDlg ); } VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateVclSwViewDialog(SwView& rView) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freede
[Libreoffice-commits] core.git: sd/CppunitTest_sd_import_tests.mk
sd/CppunitTest_sd_import_tests.mk |2 ++ 1 file changed, 2 insertions(+) New commits: commit 1bb614066738f2672da8923c40b5694eed383e86 Author: Stephan Bergmann Date: Tue Mar 10 11:41:45 2015 +0100 Missing dependency since 44337a1fdae8cdc68b6cf539166e60feea879a9b "Unit tests for PDF import" Change-Id: I6c7746814af669dd0eb45b1013577cacc109a014 diff --git a/sd/CppunitTest_sd_import_tests.mk b/sd/CppunitTest_sd_import_tests.mk index c30aef6..73c2985 100644 --- a/sd/CppunitTest_sd_import_tests.mk +++ b/sd/CppunitTest_sd_import_tests.mk @@ -118,6 +118,8 @@ $(eval $(call gb_CppunitTest_use_packages,sd_import_tests,\ oox_customshapes \ )) +$(eval $(call gb_CppunitTest_use_executable,sd_import_tests,xpdfimport)) + $(call gb_CppunitTest_get_target,sd_import_tests) : $(call gb_AllLangResTarget_get_target,sd) # vim: set noet sw=4 ts=4: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Bug 89592] Initialize PropertyValue Sequences from initializer_lists
https://bugs.documentfoundation.org/show_bug.cgi?id=89592 --- Comment #8 from Commit Notification --- Swachhand Lokhande committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=b1534edf523a405b91ad04c5351735e745ceb7ee tdf#89592 Using initializer_lists to populate Sequence It will be available in 4.5.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. -- You are receiving this mail because: You are on the CC list for the bug. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Bug 89592] Initialize PropertyValue Sequences from initializer_lists
https://bugs.documentfoundation.org/show_bug.cgi?id=89592 Commit Notification changed: What|Removed |Added Whiteboard|EasyHack SkillCpp |EasyHack SkillCpp |DifficultyBeginner |DifficultyBeginner |TopicCleanup|TopicCleanup target:4.5.0 -- You are receiving this mail because: You are on the CC list for the bug. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: avmedia/source basctl/source chart2/qa chart2/source comphelper/source
avmedia/source/framework/mediatoolbox.cxx|8 --- basctl/source/basicide/basicrenderable.cxx |8 --- basctl/source/basicide/moduldl2.cxx | 11 -- basctl/source/basicide/scriptdocument.cxx|7 +++--- chart2/qa/extras/charttest.hxx |7 +++--- chart2/source/controller/main/ChartController_Window.cxx | 16 ++- chart2/source/controller/main/ShapeToolbarController.cxx |7 +++--- comphelper/source/container/embeddedobjectcontainer.cxx | 10 - 8 files changed, 39 insertions(+), 35 deletions(-) New commits: commit b1534edf523a405b91ad04c5351735e745ceb7ee Author: Swachhand Lokhande Date: Sat Mar 7 18:58:49 2015 +0530 tdf#89592 Using initializer_lists to populate Sequence Change-Id: Idef9dd55eb1719eaf592bc4a86440cbd5aa4fb32 Reviewed-on: https://gerrit.libreoffice.org/14781 Reviewed-by: Miklos Vajna Tested-by: Miklos Vajna diff --git a/avmedia/source/framework/mediatoolbox.cxx b/avmedia/source/framework/mediatoolbox.cxx index 22e5a50..d33cd93 100644 --- a/avmedia/source/framework/mediatoolbox.cxx +++ b/avmedia/source/framework/mediatoolbox.cxx @@ -26,6 +26,8 @@ #include #include +#include + using namespace ::com::sun::star; namespace avmedia @@ -146,13 +148,13 @@ void MediaToolBoxControl::implUpdateMediaControl() void MediaToolBoxControl::implExecuteMediaControl( const MediaItem& rItem ) { MediaItem aExecItem( SID_AVMEDIA_TOOLBOX ); -uno::Sequence< beans::PropertyValue > aArgs( 1 ); uno::AnyaAny; +auto aArgs(::comphelper::InitPropertySequence({ +{ "AVMediaToolBox", makeAny(aAny) } +})); aExecItem.merge( rItem ); aExecItem.QueryValue( aAny ); -aArgs[ 0 ].Name = "AVMediaToolBox" ; -aArgs[ 0 ].Value = aAny; Dispatch( ".uno:AVMediaToolBox" , aArgs ); } diff --git a/basctl/source/basicide/basicrenderable.cxx b/basctl/source/basicide/basicrenderable.cxx index 013807e..ee5ed4b 100644 --- a/basctl/source/basicide/basicrenderable.cxx +++ b/basctl/source/basicide/basicrenderable.cxx @@ -25,6 +25,8 @@ #include #include +#include + namespace basctl { @@ -136,12 +138,12 @@ Sequence SAL_CALL Renderable::getRenderer ( { Size aPageSize( pPrinter->PixelToLogic( pPrinter->GetPaperSizePixel(), MapMode( MAP_100TH_MM ) ) ); -aVals.realloc( 1 ); -aVals[0].Name = "PageSize" ; awt::Size aSize; aSize.Width = aPageSize.Width(); aSize.Height = aPageSize.Height(); -aVals[0].Value <<= aSize; +aVals = ::comphelper::InitPropertySequence({ +{ "PageSize", makeAny(aSize) } +}); } appendPrintUIOptions( aVals ); diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx index 812c9ec..786574e 100644 --- a/basctl/source/basicide/moduldl2.cxx +++ b/basctl/source/basicide/moduldl2.cxx @@ -52,6 +52,7 @@ #include #include +#include namespace basctl @@ -1220,14 +1221,12 @@ void LibPage::ExportAsPackage( const OUString& aLibName ) const OUString strFullPath = "FullPath" ; const OUString strBasicMediaType = "application/vnd.sun.star.basic-library" ; -Sequence attribs( 2 ); -beans::PropertyValue * pattribs = attribs.getArray(); -pattribs[ 0 ].Name = strFullPath; OUString fullPath = aLibName; fullPath += "/" ; -pattribs[ 0 ].Value <<= fullPath; -pattribs[ 1 ].Name = strMediaType; -pattribs[ 1 ].Value <<= strBasicMediaType; +auto attribs(::comphelper::InitPropertySequence({ +{ strFullPath, makeAny(fullPath) }, +{ strMediaType, makeAny(strBasicMediaType) } +})); manifest.push_back( attribs ); // write into pipe: diff --git a/basctl/source/basicide/scriptdocument.cxx b/basctl/source/basicide/scriptdocument.cxx index 4a96cc7..f137d7a 100644 --- a/basctl/source/basicide/scriptdocument.cxx +++ b/basctl/source/basicide/scriptdocument.cxx @@ -54,6 +54,7 @@ #include #include +#include #include #include @@ -815,9 +816,9 @@ namespace basctl Sequence< PropertyValue > aArgs; if ( _rxStatusIndicator.is() ) { -aArgs.realloc(1); -aArgs[0].Name = "StatusIndicator" ; -aArgs[0].Value <<= _rxStatusIndicator; +aArgs = ::comphelper::InitPropertySequence({ +{ "StatusIndicator", makeAny(_rxStatusIndicator) } +}); } try diff --git a/chart2/qa/extras/charttest.hxx b/chart2/qa/extras/charttest.hxx index ad2cd55..e640118 100644 --- a/chart2/qa/extras/charttest.hxx +++ b/chart2/qa/extras/charttest.hxx @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -120,9 +121,9 @@ void ChartTest::load( const O
[Libreoffice-commits] core.git: 2 commits - sc/qa
sc/qa/unit/data/xls/shared-formula/relative-refs2.xls |binary sc/qa/unit/subsequent_filters-test.cxx| 43 ++ 2 files changed, 35 insertions(+), 8 deletions(-) New commits: commit bb2728fd246716588d135c9e159135b1c5a7d3e1 Author: Tor Lillqvist Date: Tue Mar 10 11:25:53 2015 +0200 Add unit test for bb0c05cebed131805d04919fac2b83030087451b Change-Id: I2b21a488a7f597603b65fac0ff3c6b05c3660994 diff --git a/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls b/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls index 56ff822..36c188c 100644 Binary files a/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls and b/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls differ diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx index fdf892e..7de72c1 100644 --- a/sc/qa/unit/subsequent_filters-test.cxx +++ b/sc/qa/unit/subsequent_filters-test.cxx @@ -2677,9 +2677,17 @@ void ScFiltersTest::testSharedFormulaXLS() CPPUNIT_ASSERT_EQUAL(static_cast(1), pFC->GetSharedTopRow()); CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); +pFC = rDoc.GetFormulaCell(ScAddress(2,10,0)); +CPPUNIT_ASSERT(pFC); +CPPUNIT_ASSERT_EQUAL(static_cast(1), pFC->GetSharedTopRow()); +CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + OUString aFormula; rDoc.GetFormula(2, 1, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=SUM(B9:D9)"), aFormula); + +rDoc.GetFormula(2, 10, 0, aFormula); +CPPUNIT_ASSERT_EQUAL(OUString("=SUM(B18:D18)"), aFormula); } { @@ -2688,9 +2696,36 @@ void ScFiltersTest::testSharedFormulaXLS() CPPUNIT_ASSERT_EQUAL(static_cast(8), pFC->GetSharedTopRow()); CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); +pFC = rDoc.GetFormulaCell(ScAddress(4,17,0)); +CPPUNIT_ASSERT(pFC); +CPPUNIT_ASSERT_EQUAL(static_cast(8), pFC->GetSharedTopRow()); +CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + OUString aFormula; rDoc.GetFormula(4, 8, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=SUM(G9:EY9)"), aFormula); + +rDoc.GetFormula(4, 17, 0, aFormula); +CPPUNIT_ASSERT_EQUAL(OUString("=SUM(G18:EY18)"), aFormula); +} + +{ +const ScFormulaCell* pFC = rDoc.GetFormulaCell(ScAddress(6,15,0)); +CPPUNIT_ASSERT(pFC); +CPPUNIT_ASSERT_EQUAL(static_cast(15), pFC->GetSharedTopRow()); +CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + +pFC = rDoc.GetFormulaCell(ScAddress(6,24,0)); +CPPUNIT_ASSERT(pFC); +CPPUNIT_ASSERT_EQUAL(static_cast(15), pFC->GetSharedTopRow()); +CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + +OUString aFormula; +rDoc.GetFormula(6, 15, 0, aFormula); +CPPUNIT_ASSERT_EQUAL(OUString("=SUM(A16:A4)"), aFormula); + +rDoc.GetFormula(6, 24, 0, aFormula); +CPPUNIT_ASSERT_EQUAL(OUString("=SUM(A25:A40009)"), aFormula); } xDocSh->DoClose(); commit 653d7bdceac9e83b2e8e0ffcc457d5a5b514742d Author: Tor Lillqvist Date: Tue Mar 10 10:47:19 2015 +0200 Revert "Ifdef out testSharedFormulaXLS() for now, fails for me with ..." "... OpenCL on CPU" I can't reproduce the problem any more. It was likely fixed by fa4ce83f567cfb735bdfd2319458585ded4cd554. This reverts commit 219f2dc83f40afb7470bffc307371925e8fae018. Change-Id: Ib6d3a42137bcf21b0edec2173cf483ade6104b0b diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx index 7e96929..fdf892e 100644 --- a/sc/qa/unit/subsequent_filters-test.cxx +++ b/sc/qa/unit/subsequent_filters-test.cxx @@ -181,9 +181,7 @@ public: void testSharedFormulaWrappedRefsXLS(); void testSharedFormulaBIFF5(); void testSharedFormulaXLSB(); -#if 0 void testSharedFormulaXLS(); -#endif void testExternalRefCacheXLSX(); void testExternalRefCacheODS(); void testHybridSharedStringODS(); @@ -269,9 +267,7 @@ public: CPPUNIT_TEST(testSharedFormulaWrappedRefsXLS); CPPUNIT_TEST(testSharedFormulaBIFF5); CPPUNIT_TEST(testSharedFormulaXLSB); -#if 0 CPPUNIT_TEST(testSharedFormulaXLS); -#endif CPPUNIT_TEST(testExternalRefCacheXLSX); CPPUNIT_TEST(testExternalRefCacheODS); CPPUNIT_TEST(testHybridSharedStringODS); @@ -2645,8 +2641,6 @@ void ScFiltersTest::testSharedFormulaXLSB() xDocSh->DoClose(); } -#if 0 - void ScFiltersTest::testSharedFormulaXLS() { { @@ -2703,8 +2697,6 @@ void ScFiltersTest::testSharedFormulaXLS() } } -#endif - void ScFiltersTest::testExternalRefCacheXLSX() { ScDocShellRef xDocS
Re: should we have a rtl_secureZeroMemory ?
On 03/10/2015 10:43 AM, Caolán McNamara wrote: This is in the context of the http://www.viva64.com/en/b/0308/#ID0ESAGK section and these memset calls http://www.viva64.com/external-pictures/txt/LibreOffice-V597.txt Or should we just use c++11's memset_s in these places ? (And persumably either way, have rtl_freeZeroMemory call that instead of memset ?) memset_s is a bit hairy, as it is C11 but not C++11, and conditional in C11 on __STDC_LIB_EXT1__, effectively requiring every include of any standard library header in the compilation unit to see __STDC_WANT_LIB_EXT1__ defined to 1. So it looks like wrapping it in some rtl_secureZeroMemory abstraction looks like a good idea. A nice approach would be to restrict this to rtl_freeZeroMemory, but at least some of the places in LibreOffice-V597.txt use memset on e.g. stack-allocated memory, so making rtl_secureZeroMemory available in addition to rtl_freeZeroMemory seems to be needed. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 3 commits - include/LibreOfficeKit libreofficekit/source
include/LibreOfficeKit/LibreOfficeKitGtk.h |1 libreofficekit/source/gtk/lokdocview.c | 51 - 2 files changed, 44 insertions(+), 8 deletions(-) New commits: commit 06b4748179bb84356a6dd697baf9b304805d30bc Author: Miklos Vajna Date: Tue Mar 10 10:58:41 2015 +0100 lokdocview: log dragging the graphic selection Not too important for now, but in case later we want to show some kind of preview, then this will be the place to do it. Change-Id: I531761178491f606834b4b359281122be4c8bca9 diff --git a/libreofficekit/source/gtk/lokdocview.c b/libreofficekit/source/gtk/lokdocview.c index 636c872..ebebbbf 100644 --- a/libreofficekit/source/gtk/lokdocview.c +++ b/libreofficekit/source/gtk/lokdocview.c @@ -104,10 +104,15 @@ gboolean lcl_signalMotion(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi { if (pDocView->m_bInDragGraphicHandles[i]) { -g_info("lcl_signalButton: dragging the graphic handle #%d", i); +g_info("lcl_signalMotion: dragging the graphic handle #%d", i); return FALSE; } } +if (pDocView->m_bInDragGraphicSelection) +{ +g_info("lcl_signalMotion: dragging the graphic selection"); +return FALSE; +} return FALSE; } commit d6309cbe0d4ac6cccb08c853a9756333dd57a563 Author: Miklos Vajna Date: Tue Mar 10 10:55:26 2015 +0100 lokdocview: return early in lcl_signalMotion() Change-Id: Ibf9d62c52edeaad4aada7960820e1bb8fa6c2c63 diff --git a/libreofficekit/source/gtk/lokdocview.c b/libreofficekit/source/gtk/lokdocview.c index 0862c8a..636c872 100644 --- a/libreofficekit/source/gtk/lokdocview.c +++ b/libreofficekit/source/gtk/lokdocview.c @@ -70,6 +70,7 @@ void lcl_getDragPoint(GdkRectangle* pHandle, GdkEventButton* pEvent, GdkPoint* p gboolean lcl_signalMotion(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocView* pDocView) { GdkPoint aPoint; +int i; (void)pEventBox; if (pDocView->m_bInDragMiddleHandle) @@ -79,31 +80,32 @@ gboolean lcl_signalMotion(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi pDocView->pDocument->pClass->setTextSelection( pDocView->pDocument, LOK_SETTEXTSELECTION_RESET, pixelToTwip(aPoint.x) / pDocView->fZoom, pixelToTwip(aPoint.y) / pDocView->fZoom); +return FALSE; } -else if (pDocView->m_bInDragStartHandle) +if (pDocView->m_bInDragStartHandle) { g_info("lcl_signalMotion: dragging the start handle"); lcl_getDragPoint(&pDocView->m_aHandleStartRect, pEvent, &aPoint); pDocView->pDocument->pClass->setTextSelection( pDocView->pDocument, LOK_SETTEXTSELECTION_START, pixelToTwip(aPoint.x) / pDocView->fZoom, pixelToTwip(aPoint.y) / pDocView->fZoom); +return FALSE; } -else if (pDocView->m_bInDragEndHandle) +if (pDocView->m_bInDragEndHandle) { g_info("lcl_signalMotion: dragging the end handle"); lcl_getDragPoint(&pDocView->m_aHandleEndRect, pEvent, &aPoint); pDocView->pDocument->pClass->setTextSelection( pDocView->pDocument, LOK_SETTEXTSELECTION_END, pixelToTwip(aPoint.x) / pDocView->fZoom, pixelToTwip(aPoint.y) / pDocView->fZoom); +return FALSE; } -else +for (i = 0; i < GRAPHIC_HANDLE_COUNT; ++i) { -int i; - -for (i = 0; i < GRAPHIC_HANDLE_COUNT; ++i) +if (pDocView->m_bInDragGraphicHandles[i]) { -if (pDocView->m_bInDragGraphicHandles[i]) -g_info("lcl_signalButton: dragging the graphic handle #%d", i); +g_info("lcl_signalButton: dragging the graphic handle #%d", i); +return FALSE; } } return FALSE; commit 80bb1876fceb33bc02d50e2da162ce019ef802bc Author: Miklos Vajna Date: Tue Mar 10 10:53:28 2015 +0100 lokdocview: implement move of images It's the same as resizing, except that the action starts inside the graphic selection, but not over any handles. Change-Id: Ie2465fc4534d2d919ccb0f316874477f02a5d103 diff --git a/include/LibreOfficeKit/LibreOfficeKitGtk.h b/include/LibreOfficeKit/LibreOfficeKitGtk.h index d83dbd2..a67c841 100644 --- a/include/LibreOfficeKit/LibreOfficeKitGtk.h +++ b/include/LibreOfficeKit/LibreOfficeKitGtk.h @@ -59,6 +59,7 @@ struct _LOKDocView /// Position and size of the selection end. GdkRectangle m_aTextSelectionEnd; GdkRectangle m_aGraphicSelection; +gboolean m_bInDragGraphicSelection; /// @name Start/middle/end handle. ///@{ diff --git a/libreofficekit/source/gtk/lokdocview.c b/libreofficekit/source/gtk/lokdocview.c index 0d62a5f..0862c8a 100644 --- a/libreofficekit/source/gtk/lokdocview.c +++ b/libreofficekit/source/gtk/lokdocview.c @@ -150,6 +150,17 @@ gboolean lcl_signalButton(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi
should we have a rtl_secureZeroMemory ?
This is in the context of the http://www.viva64.com/en/b/0308/#ID0ESAGK section and these memset calls http://www.viva64.com/external-pictures/txt/LibreOffice-V597.txt Or should we just use c++11's memset_s in these places ? (And persumably either way, have rtl_freeZeroMemory call that instead of memset ?) C. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - config_host.mk.in configure.ac solenv/gbuild
config_host.mk.in |1 configure.ac | 51 +++-- solenv/gbuild/JunitTest.mk |3 +- 3 files changed, 48 insertions(+), 7 deletions(-) New commits: commit dea6266b22a3e7a7af4623fb655c4279560762c0 Author: Peter Foley Date: Tue Sep 9 22:19:42 2014 -0400 Add support for external hamcrest when using junit 4.11+ Starting with junit 4.11 hamcrest is no longer bundled, so add a --with-hamcrest option to support this. Change-Id: Icdae946af82b9c56bf25d37cbf88275fc6a6a1eb Reviewed-on: https://gerrit.libreoffice.org/11383 Reviewed-by: Stephan Bergmann Tested-by: Stephan Bergmann (cherry picked from commit 4db2d600ebc541adfaaf0a1a176df1c74e3ae0e4) Signed-off-by: Stephan Bergmann diff --git a/config_host.mk.in b/config_host.mk.in index 200c384..2165195 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -237,6 +237,7 @@ export GTK_LIBS=$(gb_SPACE)@GTK_LIBS@ export GTK_PRINT_CFLAGS=$(gb_SPACE)@GTK_PRINT_CFLAGS@ export GTK_PRINT_LIBS=$(gb_SPACE)@GTK_PRINT_LIBS@ export GUIBASE=@GUIBASE@ +export HAMCREST_JAR=@HAMCREST_JAR@ export HARDLINKDELIVER=@HARDLINKDELIVER@ export HAVE_CXX11=@HAVE_CXX11@ export HAVE_GCC_AVX=@HAVE_GCC_AVX@ diff --git a/configure.ac b/configure.ac index 3425c9f..bca5ded 100644 --- a/configure.ac +++ b/configure.ac @@ -1932,6 +1932,15 @@ AC_ARG_WITH(junit, ], ,with_junit=yes) +AC_ARG_WITH(hamcrest, +AS_HELP_STRING([--with-hamcrest], +[Specifies the hamcrest jar file to use for JUnit-based tests. + --without-junit disables those tests. Not relevant in the --without-java case.]) +[ + Usage: --with-hamcrest= +], +,with_hamcrest=yes) + AC_ARG_WITH(perl-home, AS_HELP_STRING([--with-perl-home], [If you have installed Perl 5 Distribution, on your system, please @@ -12278,23 +12287,53 @@ if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no"; then if test "$_os" = "WINNT"; then OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"` fi -printf 'import org.junit.Before; import org.hamcrest.BaseDescription;' \ -> conftest.java +printf 'import org.junit.Before;' > conftest.java if "$JAVACOMPILER" -classpath "$OOO_JUNIT_JAR" conftest.java >&5 2>&5; then AC_MSG_RESULT([$OOO_JUNIT_JAR]) else AC_MSG_ERROR( -[cannot find JUnit 4 jar, or JUnit 4 jar does not provide Hamcrest; please -install one in the default location (/usr/share/java), specify its pathname via ---with-junit=..., or disable it via --without-junit]) +[cannot find JUnit 4 jar; please install one in the default location (/usr/share/java), + specify its pathname via --with-junit=..., or disable it via --without-junit]) fi -rm -f conftestj.class conftestj.java +rm -f conftest.class conftest.java if test $OOO_JUNIT_JAR != ""; then BUILD_TYPE="$BUILD_TYPE QADEVOOO" fi fi AC_SUBST(OOO_JUNIT_JAR) +HAMCREST_JAR= +if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no"; then +AC_MSG_CHECKING([for included Hamcrest]) +printf 'import org.hamcrest.BaseDescription;' > conftest.java +if "$JAVACOMPILER" -classpath "$OOO_JUNIT_JAR" conftest.java >&5 2>&5; then +AC_MSG_RESULT([Included in $OOO_JUNIT_JAR]) +else +AC_MSG_RESULT([Not included]) +AC_MSG_CHECKING([for standalone hamcrest jar.]) +if test "$with_hamcrest" = "yes"; then +if test -e /usr/share/lib/java/hamcrest.jar; then +HAMCREST_JAR=/usr/share/lib/java/hamcrest.jar +else +HAMCREST_JAR=/usr/share/java/hamcrest.jar +fi +else +HAMCREST_JAR=$with_hamcrest +fi +if test "$_os" = "WINNT"; then +HAMCREST_JAR=`cygpath -m "$HAMCREST_JAR"` +fi +if "$JAVACOMPILER" -classpath "$HAMCREST_JAR" conftest.java >&5 2>&5; then +AC_MSG_RESULT([$HAMCREST_JAR]) +else +AC_MSG_ERROR([junit does not contain hamcrest; please use a junit jar that includes hamcrest, install a hamcrest jar in the default location (/usr/share/java), + specify its path with --with-hamcrest=..., or disable junit with --without-junit]) +fi +fi +rm -f conftest.class conftest.java +fi +AC_SUBST(HAMCREST_JAR) + AC_SUBST(SCPDEFS) diff --git a/solenv/gbuild/JunitTest.mk b/solenv/gbuild/JunitTest.mk index 9801ed2..8370603 100644 --- a/solenv/gbuild/JunitTest.mk +++ b/solenv/gbuild/JunitTest.mk @@ -54,12 +54,13 @@ $(call gb_JunitTest_get_target,%) : $(CLEAN_CMD) define gb_JunitTest_JunitTest -$(call gb_JunitTest_get_target,$(1)) : T_CP := $(call gb_JavaClassSet_get_classdir,$(call gb_JunitTest_get_classsetname,$(1)))$$(gb_CLASSPATHSEP)$(OOO_JUNIT_JAR)$$(gb_CLASSPATHSEP)$(INSTROOT)/$(LIBO_URE_LIB_FOLDER) +$(call gb_JunitTest_get_target,$(1)) : T_CP := $(call gb_JavaClassSet_get_classdir,$(call gb_Junit
[Libreoffice-commits] core.git: vcl/win
vcl/win/source/gdi/salbmp.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 16b8fbb2e0c72ce321c9f569284f4ef37339af2c Author: Caolán McNamara Date: Tue Mar 10 09:27:43 2015 + sigh, collision Change-Id: I2d56b0ddf0b7e076ea570879b0ab33390306f3b2 diff --git a/vcl/win/source/gdi/salbmp.cxx b/vcl/win/source/gdi/salbmp.cxx index 72de23c..bc0dcee 100644 --- a/vcl/win/source/gdi/salbmp.cxx +++ b/vcl/win/source/gdi/salbmp.cxx @@ -692,7 +692,7 @@ bool WinSalBitmap::Create( const SalBitmap& rSSalBmp, sal_uInt16 nNewBitCount ) bool WinSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas >& rBitmapCanvas, Size& /*rSize*/, bool bMask ) { ::com::sun::star::uno::Reference< ::com::sun::star::beans::XFastPropertySet > -xFastPropertySet( xBitmapCanvas, ::com::sun::star::uno::UNO_QUERY ); +xFastPropertySet( rBitmapCanvas, ::com::sun::star::uno::UNO_QUERY ); if( xFastPropertySet.get() ) { ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > args; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 2 commits - desktop/source include/LibreOfficeKit include/vcl libreofficekit/source sw/inc sw/source
desktop/source/lib/init.cxx | 17 include/LibreOfficeKit/LibreOfficeKit.h |5 ++ include/LibreOfficeKit/LibreOfficeKit.hxx| 12 + include/LibreOfficeKit/LibreOfficeKitEnums.h | 25 include/LibreOfficeKit/LibreOfficeKitGtk.h |8 +++ include/vcl/ITiledRenderable.hxx |7 +++ libreofficekit/source/gtk/lokdocview.c | 56 +-- sw/inc/unotxdoc.hxx |2 sw/source/uibase/docvw/edtwin.cxx| 18 sw/source/uibase/inc/edtwin.hxx |2 sw/source/uibase/uno/unotxdoc.cxx| 19 + 11 files changed, 168 insertions(+), 3 deletions(-) New commits: commit 2b638ff218970051a970a4170d992d1361db6319 Author: Miklos Vajna Date: Tue Mar 10 10:12:02 2015 +0100 lokdocview: use lok::Document::setGraphicSelection() With this, it's now possible to resize images in Writer. Change-Id: I2f557d6a64efda54959627d21406aef85160e470 diff --git a/include/LibreOfficeKit/LibreOfficeKitGtk.h b/include/LibreOfficeKit/LibreOfficeKitGtk.h index ae0aa0e..d83dbd2 100644 --- a/include/LibreOfficeKit/LibreOfficeKitGtk.h +++ b/include/LibreOfficeKit/LibreOfficeKitGtk.h @@ -82,7 +82,15 @@ struct _LOKDocView gboolean m_bInDragEndHandle; ///@} +/// @name Graphic handles. +///@{ +/// Bitmap of a graphic selection handle. cairo_surface_t* m_pGraphicHandle; +/// Rectangle of a graphic selection handle, to know if the user clicked on it or not. +GdkRectangle m_aGraphicHandleRects[8]; +/// If we are in the middle of a drag of a graphic selection handle. +gboolean m_bInDragGraphicHandles[8]; +///@} }; struct _LOKDocViewClass diff --git a/libreofficekit/source/gtk/lokdocview.c b/libreofficekit/source/gtk/lokdocview.c index 08c3831..0d62a5f 100644 --- a/libreofficekit/source/gtk/lokdocview.c +++ b/libreofficekit/source/gtk/lokdocview.c @@ -26,6 +26,8 @@ // Cursor bitmaps from the Android app. #define CURSOR_HANDLE_DIR "android/experimental/LOAndroid3/res/drawable/" +// Number of handles around a graphic selection. +#define GRAPHIC_HANDLE_COUNT 8 static void lok_docview_class_init( LOKDocViewClass* pClass ); static void lok_docview_init( LOKDocView* pDocView ); @@ -94,6 +96,16 @@ gboolean lcl_signalMotion(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi pDocView->pDocument, LOK_SETTEXTSELECTION_END, pixelToTwip(aPoint.x) / pDocView->fZoom, pixelToTwip(aPoint.y) / pDocView->fZoom); } +else +{ +int i; + +for (i = 0; i < GRAPHIC_HANDLE_COUNT; ++i) +{ +if (pDocView->m_bInDragGraphicHandles[i]) +g_info("lcl_signalButton: dragging the graphic handle #%d", i); +} +} return FALSE; } @@ -105,6 +117,8 @@ gboolean lcl_signalButton(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi if (pEvent->type == GDK_BUTTON_RELEASE) { +int i; + if (pDocView->m_bInDragStartHandle) { g_info("lcl_signalButton: end of drag start handle"); @@ -123,6 +137,19 @@ gboolean lcl_signalButton(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi pDocView->m_bInDragEndHandle = FALSE; return FALSE; } + +for (i = 0; i < GRAPHIC_HANDLE_COUNT; ++i) +{ +if (pDocView->m_bInDragGraphicHandles[i]) +{ +g_info("lcl_signalButton: end of drag graphic handle #%d", i); +pDocView->m_bInDragGraphicHandles[i] = FALSE; +pDocView->pDocument->pClass->setGraphicSelection( +pDocView->pDocument, LOK_SETGRAPHICSELECTION_END, +pixelToTwip(pEvent->x) / pDocView->fZoom, pixelToTwip(pEvent->y) / pDocView->fZoom); +return FALSE; +} +} } if (pDocView->m_bEdit) @@ -134,6 +161,8 @@ gboolean lcl_signalButton(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi aClick.height = 1; if (pEvent->type == GDK_BUTTON_PRESS) { +int i; + if (gdk_rectangle_intersect(&aClick, &pDocView->m_aHandleStartRect, NULL)) { g_info("lcl_signalButton: start of drag start handle"); @@ -152,6 +181,20 @@ gboolean lcl_signalButton(GtkWidget* pEventBox, GdkEventButton* pEvent, LOKDocVi pDocView->m_bInDragEndHandle = TRUE; return FALSE; } + +for (i = 0; i < GRAPHIC_HANDLE_COUNT; ++i) +{ +if (gdk_rectangle_intersect(&aClick, &pDocView->m_aGraphicHandleRects[i], NULL)) +{ +g_info("lcl_signalButton: start of drag graphic handle #%d", i); +pDocView->m_bInDragGraphicHandles[i] = TRUE; +pDocView->pDocument->pClass->setGraphicSelection( +
[Libreoffice-commits] core.git: vcl/win
vcl/win/source/gdi/salbmp.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 9c98d785b547f65da540ed652ef8558b67eeec5b Author: Caolán McNamara Date: Tue Mar 10 09:23:13 2015 + fix windows build Change-Id: If7351b2fb37b68ea2838cf442ca440a01587d66a diff --git a/vcl/win/source/gdi/salbmp.cxx b/vcl/win/source/gdi/salbmp.cxx index 1b2bef8..72de23c 100644 --- a/vcl/win/source/gdi/salbmp.cxx +++ b/vcl/win/source/gdi/salbmp.cxx @@ -689,7 +689,7 @@ bool WinSalBitmap::Create( const SalBitmap& rSSalBmp, sal_uInt16 nNewBitCount ) return bRet; } -bool WinSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas >& xBitmapCanvas, Size& /*rSize*/, bool bMask ) +bool WinSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas >& rBitmapCanvas, Size& /*rSize*/, bool bMask ) { ::com::sun::star::uno::Reference< ::com::sun::star::beans::XFastPropertySet > xFastPropertySet( xBitmapCanvas, ::com::sun::star::uno::UNO_QUERY ); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sc/source
sc/source/filter/excel/excform8.cxx | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) New commits: commit 0307413a287b07c08206169e2645261373e19bb1 Author: Tor Lillqvist Date: Tue Mar 10 00:48:28 2015 +0200 Also relative row references need to wrap around, like fdo#84556 for columns Change-Id: I07400d6dead66ec437436b5ea8b49491f8048335 Reviewed-on: https://gerrit.libreoffice.org/14823 Tested-by: Markus Mohrhard Reviewed-by: Markus Mohrhard diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx index 53354f3..88bd27e 100644 --- a/sc/source/filter/excel/excform8.cxx +++ b/sc/source/filter/excel/excform8.cxx @@ -1426,7 +1426,16 @@ void ExcelToSc8::ExcRelToScRel8( sal_uInt16 nRow, sal_uInt16 nC, ScSingleRefData // R O W if( bRowRel ) -rSRD.SetRelRow(static_cast(nRow)); +{ +SCROW nRelRow = static_cast(nRow); +sal_Int32 nDiff = aEingPos.Row() + nRelRow; +if (nDiff < 0) +{ +// relative row references wrap around +nRelRow = 65536 + nRelRow; +} +rSRD.SetRelRow(nRelRow); +} else rSRD.SetAbsRow(std::min( static_cast(nRow), MAXROW)); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 2 commits - android/Bootstrap android/experimental
android/Bootstrap/src/org/libreoffice/kit/Document.java |8 +-- android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java |4 + android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java |1 android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java |4 + android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java | 15 +- android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java | 23 -- android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java |4 - android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java |2 android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java |2 9 files changed, 40 insertions(+), 23 deletions(-) New commits: commit de6f87b12bcc6a74bf22c4d153fd6ce22df305da Author: Tomaž Vajngerl Date: Tue Mar 10 17:59:59 2015 +0900 android: clicking on toolbar icon exits edit mode Change-Id: Idc8c94629bd7a23be1e3a13e88debc478d6ab880 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java index 0f9b997..4c3a2ba 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java @@ -315,6 +315,10 @@ public class InvalidationHandler implements Document.MessageCallback { mTextCursorLayer.showGraphicSelection(); } +public OverlayState getCurrentState() { +return mState; +} + public enum OverlayState { NONE, TRANSITION, diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java index 18b821e..c162c22 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java @@ -23,6 +23,7 @@ public class LOEvent implements Comparable { public static final int CHANGE_HANDLE_POSITION = 10; public static final int SWIPE_RIGHT = 11; public static final int SWIPE_LEFT = 12; +public static final int NAVIGATION_CLICK = 13; public final int mType; public int mPriority = 0; diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java index 84123a5..6c2e921 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java @@ -142,4 +142,8 @@ public class LOKitShell { public static void sendChangeHandlePositionEvent(TextSelectionHandle.HandleType handleType, PointF documentCoordinate) { LOKitShell.sendEvent(new LOEvent(LOEvent.CHANGE_HANDLE_POSITION, handleType, documentCoordinate)); } + +public static void sendNavigationClickEvent() { +LOKitShell.sendEvent(new LOEvent(LOEvent.NAVIGATION_CLICK)); +} } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java index 3d36d93..a5fe244 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java @@ -213,6 +213,18 @@ public class LOKitThread extends Thread { case LOEvent.SWIPE_RIGHT: onSwipeRight(); break; +case LOEvent.NAVIGATION_CLICK: +if (mInvalidationHandler.getCurrentState() == InvalidationHandler.OverlayState.NONE) { +LOKitShell.getMainHandler().post(new Runnable() { +@Override +public void run() { + LibreOfficeMainActivity.mAppContext.onBackPressed(); +} +}); +} else { + mInvalidationHandler.changeStateTo(InvalidationHandler.OverlayState.NONE); +} +break; } } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java index cd69c1d..bf1a1b7 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -126,8 +126,8 @@ public class LibreOfficeMainActivity extends ActionBarActivity { toolbar.setNavigationOnClickListener(new View
[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 2 commits - android/experimental
android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java | 96 -- android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java |6 android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java | 24 ++ android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java | 64 ++ 4 files changed, 128 insertions(+), 62 deletions(-) New commits: commit a8ecb26342674acce377d2ccac9c8fae8d4aa77c Author: Tomaž Vajngerl Date: Tue Mar 10 17:28:26 2015 +0900 android: simplify state tracking, make graphic selection work Simplify by removing all but one transition state (which disables handles depending on previous state). Additionally show/hide/change the graphic selection depending on the messages we get from LO. Change-Id: I95d22a58e0a7f3cb034b18034cb816816a48f355 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java index 5ea89be..0f9b997 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java @@ -3,7 +3,6 @@ package org.libreoffice; import android.content.Intent; import android.graphics.RectF; import android.net.Uri; -import android.util.Log; import org.libreoffice.kit.Document; import org.mozilla.gecko.TextSelection; @@ -18,11 +17,9 @@ import java.util.List; */ public class InvalidationHandler implements Document.MessageCallback { private static String LOGTAG = InvalidationHandler.class.getSimpleName(); - -private TileProvider mTileProvider; private final TextCursorLayer mTextCursorLayer; private final TextSelection mTextSelection; - +private TileProvider mTileProvider; private OverlayState mState; public InvalidationHandler(LibreOfficeMainActivity mainActivity) { @@ -161,9 +158,9 @@ public class InvalidationHandler implements Document.MessageCallback { mTextSelection.positionHandle(TextSelectionHandle.HandleType.MIDDLE, cursorRectangle); mTextCursorLayer.positionCursor(cursorRectangle); -if (mState == OverlayState.TRANSITION_TO_CURSOR) { +if (mState == OverlayState.TRANSITION || mState == OverlayState.CURSOR) { changeStateTo(OverlayState.CURSOR); -}; +} } } @@ -199,15 +196,16 @@ public class InvalidationHandler implements Document.MessageCallback { private synchronized void textSelection(String payload) { if (payload.isEmpty() || payload.equals("EMPTY")) { if (mState == OverlayState.SELECTION) { -changeStateTo(OverlayState.TRANSITION_TO_CURSOR); +changeStateTo(OverlayState.TRANSITION); } mTextCursorLayer.changeSelections(Collections.EMPTY_LIST); } else { -if (mState == OverlayState.TRANSITION_TO_SELECTION) { -changeStateTo(OverlayState.SELECTION); +List rectangles = convertPayloadToRectangles(payload); +if (mState != OverlayState.SELECTION) { +changeStateTo(OverlayState.TRANSITION); } -List rects = convertPayloadToRectangles(payload); -mTextCursorLayer.changeSelections(rects); +changeStateTo(OverlayState.SELECTION); +mTextCursorLayer.changeSelections(rectangles); } } @@ -219,21 +217,30 @@ public class InvalidationHandler implements Document.MessageCallback { private synchronized void cursorVisibility(String payload) { if (payload.equals("true")) { mTextCursorLayer.showCursor(); +mTextSelection.showHandle(TextSelectionHandle.HandleType.MIDDLE); } else if (payload.equals("false")) { mTextCursorLayer.hideCursor(); +mTextSelection.hideHandle(TextSelectionHandle.HandleType.MIDDLE); } } /** * Handles the graphic selection change message + * * @param payload */ private void graphicSelection(String payload) { if (payload.isEmpty() || payload.equals("EMPTY")) { -mTextCursorLayer.changeSelections(Collections.EMPTY_LIST); +if (mState == OverlayState.GRAPHIC_SELECTION) { +changeStateTo(OverlayState.TRANSITION); +} } else { -List rects = convertPayloadToRectangles(payload); -mTextCursorLayer.changeSelections(rects); +RectF rectangle = convertPayloadToRectangle(payload); +mTextCursorLayer.changeGraphicSelection(rectangle); +if (mState != OverlayState.GRAPHIC_SELECTION) { +changeStateTo(OverlayState.TRANSITION); +} +changeStateTo(OverlayState.GRA
[Libreoffice-commits] core.git: sw/source
sw/source/filter/ww8/docxattributeoutput.cxx | 12 sw/source/filter/ww8/docxattributeoutput.hxx |2 +- 2 files changed, 5 insertions(+), 9 deletions(-) New commits: commit 83f5a88cf9bb0833fb8729ace493be2380492fa4 Author: Miklos Vajna Date: Tue Mar 10 09:31:02 2015 +0100 DocxAttributeOutput::m_pParagraphSpacingAttrList: use unique_ptr Change-Id: I4d8d0ee853e93c8620295e0598de358e66b4f730 diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index b285a17..6033c9a 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -788,7 +788,7 @@ void DocxAttributeOutput::StartParagraphProperties() void DocxAttributeOutput::InitCollectedParagraphProperties() { -m_pParagraphSpacingAttrList = NULL; +m_pParagraphSpacingAttrList.reset(0); // Write the elements in the spec order static const sal_Int32 aOrder[] = @@ -853,8 +853,7 @@ void DocxAttributeOutput::WriteCollectedParagraphProperties() if ( m_pParagraphSpacingAttrList ) { -XFastAttributeListRef xAttrList( m_pParagraphSpacingAttrList ); -m_pParagraphSpacingAttrList = NULL; +XFastAttributeListRef xAttrList( m_pParagraphSpacingAttrList.release() ); m_pSerializer->singleElementNS( XML_w, XML_spacing, xAttrList ); } @@ -2390,9 +2389,8 @@ void DocxAttributeOutput::Redline( const SwRedlineData* pRedlineData) // So we need to store the current status of these lists, so that we can revert back to them when // we are done exporting the redline attributes. ::sax_fastparser::FastAttributeList *pFlyAttrList_Original = m_rExport.SdrExporter().getFlyAttrList(); -::sax_fastparser::FastAttributeList *pParagraphSpacingAttrList_Original = m_pParagraphSpacingAttrList; +std::unique_ptr pParagraphSpacingAttrList_Original(m_pParagraphSpacingAttrList.release()); m_rExport.SdrExporter().setFlyAttrList(NULL); -m_pParagraphSpacingAttrList = NULL; // Output the redline item set m_rExport.OutputItemSet( *pChangesSet, true, false, i18n::ScriptType::LATIN, m_rExport.mbExportModeRTF ); @@ -2402,7 +2400,7 @@ void DocxAttributeOutput::Redline( const SwRedlineData* pRedlineData) // Revert back the original values that were stored in 'm_rExport.SdrExporter().getFlyAttrList()', 'm_pParagraphSpacingAttrList' m_rExport.SdrExporter().setFlyAttrList(pFlyAttrList_Original); -m_pParagraphSpacingAttrList = pParagraphSpacingAttrList_Original; + m_pParagraphSpacingAttrList.reset(pParagraphSpacingAttrList_Original.release()); m_pSerializer->endElementNS( XML_w, XML_pPr ); @@ -8281,7 +8279,6 @@ DocxAttributeOutput::DocxAttributeOutput( DocxExport &rExport, FSHelperPtr pSeri : m_rExport( rExport ), m_pSerializer( pSerializer ), m_rDrawingML( *pDrawingML ), - m_pParagraphSpacingAttrList( NULL ), m_pHyperlinkAttrList( NULL ), m_bEndCharSdt(false), m_bStartedCharSdt(false), @@ -8352,7 +8349,6 @@ DocxAttributeOutput::DocxAttributeOutput( DocxExport &rExport, FSHelperPtr pSeri DocxAttributeOutput::~DocxAttributeOutput() { -delete m_pParagraphSpacingAttrList, m_pParagraphSpacingAttrList = NULL; delete m_pHyperlinkAttrList, m_pHyperlinkAttrList = NULL; delete m_pColorAttrList, m_pColorAttrList = NULL; delete m_pBackgroundAttrList, m_pBackgroundAttrList = NULL; diff --git a/sw/source/filter/ww8/docxattributeoutput.hxx b/sw/source/filter/ww8/docxattributeoutput.hxx index 1a32632..5077b64 100644 --- a/sw/source/filter/ww8/docxattributeoutput.hxx +++ b/sw/source/filter/ww8/docxattributeoutput.hxx @@ -726,7 +726,7 @@ private: std::unique_ptr m_pEastAsianLayoutAttrList; std::unique_ptr m_pCharLangAttrList; std::unique_ptr m_pSectionSpacingAttrList; -::sax_fastparser::FastAttributeList *m_pParagraphSpacingAttrList; +std::unique_ptr m_pParagraphSpacingAttrList; ::sax_fastparser::FastAttributeList *m_pHyperlinkAttrList; /// If the current SDT around runs should be ended before the current run. bool m_bEndCharSdt; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: vcl/win
vcl/win/source/gdi/salbmp.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 7be068e04fa36f238c26fd6747d66f0a1e01de00 Author: Noel Grandin Date: Tue Mar 10 10:25:15 2015 +0200 attempt to fix windows build after commit 924b2923b8b1515a4c37079e72a2a9cc6010a4f4 "V801: Decreased performance" Change-Id: I32af1195f6e7e1fc4b94487bfbfab669bcad3951 diff --git a/vcl/win/source/gdi/salbmp.cxx b/vcl/win/source/gdi/salbmp.cxx index 8c81baa..1b2bef8 100644 --- a/vcl/win/source/gdi/salbmp.cxx +++ b/vcl/win/source/gdi/salbmp.cxx @@ -692,7 +692,7 @@ bool WinSalBitmap::Create( const SalBitmap& rSSalBmp, sal_uInt16 nNewBitCount ) bool WinSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas >& xBitmapCanvas, Size& /*rSize*/, bool bMask ) { ::com::sun::star::uno::Reference< ::com::sun::star::beans::XFastPropertySet > -xFastPropertySet( rBitmapCanvas, ::com::sun::star::uno::UNO_QUERY ); +xFastPropertySet( xBitmapCanvas, ::com::sun::star::uno::UNO_QUERY ); if( xFastPropertySet.get() ) { ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > args; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: vcl/source
vcl/source/app/scheduler.cxx |2 +- vcl/source/app/timer.cxx |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit 0a5c1be22a88094018e2741b38d743800018ca5e Author: Tobias Madl Date: Tue Mar 10 08:08:21 2015 + Scheduler: replaced max cast with SAL_MAX_UINT64 Change-Id: I9e8d5863c31187b373ff93d5a6e992a1281220b4 diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx index 56eaf12..8162332 100644 --- a/vcl/source/app/scheduler.cxx +++ b/vcl/source/app/scheduler.cxx @@ -23,7 +23,7 @@ #include #include -#define MAX_TIMER_PERIOD((sal_uInt64)0x) +#define MAX_TIMER_PERIODSAL_MAX_UINT64 void ImplSchedulerData::Invoke() { diff --git a/vcl/source/app/timer.cxx b/vcl/source/app/timer.cxx index 7e631d1..6c1724e 100644 --- a/vcl/source/app/timer.cxx +++ b/vcl/source/app/timer.cxx @@ -23,7 +23,7 @@ #include #include -#define MAX_TIMER_PERIOD((sal_uInt64)0x) +#define MAX_TIMER_PERIOD SAL_MAX_UINT64 void Timer::ImplStartTimer( ImplSVData* pSVData, sal_uInt64 nMS ) { ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: fpicker/source
fpicker/source/aqua/CFStringUtilities.hxx |2 +- fpicker/source/aqua/CFStringUtilities.mm |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit 077043eb2e41471897fc5d415fa2f6a50b91ed92 Author: Stephan Bergmann Date: Tue Mar 10 08:41:57 2015 +0100 loplugin:passstuffbyref Change-Id: Ic45e42d5ce7e0509cd2afc8be018f78cd6083aae diff --git a/fpicker/source/aqua/CFStringUtilities.hxx b/fpicker/source/aqua/CFStringUtilities.hxx index 58d0951..3c76a81 100644 --- a/fpicker/source/aqua/CFStringUtilities.hxx +++ b/fpicker/source/aqua/CFStringUtilities.hxx @@ -35,7 +35,7 @@ enum InfoType { }; OUString CFStringToOUString(const CFStringRef sOrig); -OUString FSRefToOUString(FSRef fsRef, InfoType info = FULLPATH); +OUString FSRefToOUString(FSRef const & fsRef, InfoType info = FULLPATH); OUString CFURLRefToOUString(CFURLRef aUrlRef, InfoType info); CFStringRef CFStringCreateWithOUString(const OUString& aString); diff --git a/fpicker/source/aqua/CFStringUtilities.mm b/fpicker/source/aqua/CFStringUtilities.mm index de92804..c1f0c5b 100644 --- a/fpicker/source/aqua/CFStringUtilities.mm +++ b/fpicker/source/aqua/CFStringUtilities.mm @@ -54,7 +54,7 @@ CFStringRef CFStringCreateWithOUString(const rtl::OUString& aString) { return ref; } -rtl::OUString FSRefToOUString(FSRef fsRef, InfoType info) +rtl::OUString FSRefToOUString(FSRef const & fsRef, InfoType info) { //DBG_PRINT_ENTRY("CFStringUtilities", __func__); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: 2 commits - sc/inc sc/source
sc/inc/tokenarray.hxx |1 + sc/source/core/tool/token.cxx |6 ++ sc/source/filter/excel/excform8.cxx | 11 ++- sc/source/filter/inc/tokstack.hxx |2 +- 4 files changed, 18 insertions(+), 2 deletions(-) New commits: commit ddc1f7d9a816e2cc970d48d2ccc2c0cd256e6e03 Author: Tor Lillqvist Date: Tue Mar 10 09:04:57 2015 +0200 Fix issue in re-use of ScTokenArray objects from a TokenPool The TokenPool::operator[] is used to initialise and take into use an object from the pool. Which is a fascinating thing as such and probably not entirely in good style. Anyway, the objects in the pool are of type ScTokenArray, a class derived from FormulaTokenArray. The operator[] called the FormulaTokenArray::Clear() function to initialise the object. This left the fields added in ScTokenArray uninitialised, having whatever value the previous use of the object had set. Which of course is bad. In practice, this showed up in the handling of formulas in the .xls input filter. If an earlier (or the first?) formula had happened to be one for which we don't want to use OpenCL, the meVectorState of its ScTokenArray object in the pool had been set to FormulaVectorDisabled. When the same pool object was later re-used for another formula, it kept that same meVectorState, even if there was no reason to. Thus formula groups that should have been OpenCL accelerated weren't. This can have a significant impact on performance of document loading and recalculation for large documents. I added a function to ScTokenArray to clear (initialise) such an object, both the FormulaTokenArray part and the ScTokenArray-specific part, and call that instead. This fixes the issue. I named the added function ClearScTokenArray() to make it clear that it is a separate function. Sure, possibly Clear() should be made into a virtual of FormulaTokenArry and overridden in ScTokenArray, and the overriding Clear() would first call the base class's Clear(). But I can't be sure that there aren't other calls of FormulaTokenArray::Clear() that *must* mean the base class one. Better safe than sorry. And of course, I did *not* want to name the function in ScTokenArray also "Clear()", like in the base class, without it being virtual. That is horrible style in my opinion, even if there certainly is precedence for such even in the very same classes, i.e. the Clone() function... Change-Id: I0e0e13e5ca705603005a1e0a46866f095cd2ac4d diff --git a/sc/inc/tokenarray.hxx b/sc/inc/tokenarray.hxx index 4068745..0d3fa02 100644 --- a/sc/inc/tokenarray.hxx +++ b/sc/inc/tokenarray.hxx @@ -58,6 +58,7 @@ public: /// Assignment with references to FormulaToken entries (not copied!) ScTokenArray( const ScTokenArray& ); virtual ~ScTokenArray(); +void ClearScTokenArray(); ScTokenArray* Clone() const;/// True copy! // An estimate of the number of cells referenced by the token array diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index 55a0601..203f378 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -1651,6 +1651,12 @@ ScTokenArray& ScTokenArray::operator=( const ScTokenArray& rArr ) return *this; } +void ScTokenArray::ClearScTokenArray() +{ +Clear(); +meVectorState = FormulaVectorEnabled; +} + ScTokenArray* ScTokenArray::Clone() const { ScTokenArray* p = new ScTokenArray(); diff --git a/sc/source/filter/inc/tokstack.hxx b/sc/source/filter/inc/tokstack.hxx index 7513d48..9e458d7 100644 --- a/sc/source/filter/inc/tokstack.hxx +++ b/sc/source/filter/inc/tokstack.hxx @@ -362,7 +362,7 @@ inline const TokenId TokenPool::LastId( void ) const const inline ScTokenArray* TokenPool::operator []( const TokenId& rId ) { -pScToken->Clear(); +pScToken->ClearScTokenArray(); if( rId ) {//...only if rId > 0! commit bb0c05cebed131805d04919fac2b83030087451b Author: Tor Lillqvist Date: Tue Mar 10 00:48:28 2015 +0200 Also relative row references need to wrap around, like fdo#84556 for columns Change-Id: I07400d6dead66ec437436b5ea8b49491f8048335 diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx index ff4bd6c..ebe3b64 100644 --- a/sc/source/filter/excel/excform8.cxx +++ b/sc/source/filter/excel/excform8.cxx @@ -1479,7 +1479,16 @@ void ExcelToSc8::ExcRelToScRel8( sal_uInt16 nRow, sal_uInt16 nC, ScSingleRefData // R O W if( bRowRel ) -rSRD.SetRelRow(static_cast(nRow)); +{ +SCROW nRelRow = static_cast(nRow); +sal_Int32 nDiff = aEingPos.Row() + nRelRow; +if (nDiff < 0) +{ +// relative row references wrap around +nRelRow = 65536 + nRelRow; +} +rSRD.SetRelRow(nRelRow); +}
[Libreoffice-commits] core.git: sc/source
sc/source/ui/inc/gridwin.hxx |2 +- sc/source/ui/view/gridwin.cxx | 10 +++--- sc/source/ui/view/gridwin4.cxx |4 ++-- sc/source/ui/view/gridwin5.cxx | 36 +++- 4 files changed, 25 insertions(+), 27 deletions(-) New commits: commit a099abe9ffd5e90b7cb4d488e25df4fce3099a48 Author: Tomaž Vajngerl Date: Tue Mar 10 12:02:43 2015 +0900 GridWindow: change pNoteMarker to unique_ptr Change-Id: I1e141632172f53ddbd2f5f434206646c9a1e9cf0 diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx index a30afe2..ac158bf 100644 --- a/sc/source/ui/inc/gridwin.hxx +++ b/sc/source/ui/inc/gridwin.hxx @@ -134,7 +134,7 @@ class ScGridWindow : public vcl::Window, public DropTargetHelper, public DragSou ScHSplitPos eHWhich; ScVSplitPos eVWhich; -ScNoteMarker* pNoteMarker; +std::unique_ptr mpNoteMarker; std::unique_ptr mpFilterBox; std::unique_ptr mpFilterFloat; diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 4e87cd1..290c649 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -439,7 +439,7 @@ ScGridWindow::ScGridWindow( vcl::Window* pParent, ScViewData* pData, ScSplitPos mpAutoFillRect(static_cast(NULL)), pViewData( pData ), eWhich( eWhichPos ), -pNoteMarker( NULL ), +mpNoteMarker(), mpFilterBox(), mpFilterFloat(), mpAutoFilterPopup(), @@ -519,10 +519,6 @@ ScGridWindow::ScGridWindow( vcl::Window* pParent, ScViewData* pData, ScSplitPos ScGridWindow::~ScGridWindow() { -// #114409# -ImpDestroyOverlayObjects(); - -delete pNoteMarker; } void ScGridWindow::ClickExtern() @@ -2458,7 +2454,7 @@ void ScGridWindow::MouseMove( const MouseEvent& rMEvt ) { aCurMousePos = rMEvt.GetPosPixel(); -if ( rMEvt.IsLeaveWindow() && pNoteMarker && !pNoteMarker->IsByKeyboard() ) +if (rMEvt.IsLeaveWindow() && mpNoteMarker && !mpNoteMarker->IsByKeyboard()) HideNoteMarker(); ScModule* pScMod = SC_MOD(); @@ -3312,7 +3308,7 @@ void ScGridWindow::KeyInput(const KeyEvent& rKEvt) } // query for existing note marker before calling ViewShell's keyboard handling // which may remove the marker -bool bHadKeyMarker = ( pNoteMarker && pNoteMarker->IsByKeyboard() ); +bool bHadKeyMarker = mpNoteMarker && mpNoteMarker->IsByKeyboard(); ScTabViewShell* pViewSh = pViewData->GetViewShell(); if (pViewData->GetDocShell()->GetProgress()) diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index dc747e6..74ac908 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -903,8 +903,8 @@ void ScGridWindow::DrawContent(OutputDevice &rDevice, const ScTableInfo& rTableI else rDevice.SetMapMode(aDrawMode); -if ( pNoteMarker ) -pNoteMarker->Draw();// ueber den Cursor, im Drawing-MapMode +if (mpNoteMarker) +mpNoteMarker->Draw(); // ueber den Cursor, im Drawing-MapMode } void ScGridWindow::PaintTile( VirtualDevice& rDevice, diff --git a/sc/source/ui/view/gridwin5.cxx b/sc/source/ui/view/gridwin5.cxx index 531127b..249312f 100644 --- a/sc/source/ui/view/gridwin5.cxx +++ b/sc/source/ui/view/gridwin5.cxx @@ -168,23 +168,23 @@ bool ScGridWindow::ShowNoteMarker( SCsCOL nPosX, SCsROW nPosY, bool bKeyboard ) { bool bNew = true; bool bFast = false; -if ( pNoteMarker ) // schon eine Notiz angezeigt +if (mpNoteMarker) // schon eine Notiz angezeigt { -if ( pNoteMarker->GetDocPos() == aCellPos ) // dieselbe -bNew = false; // dann stehenlassen +if (mpNoteMarker->GetDocPos() == aCellPos) +bNew = false; // dann stehenlassen else -bFast = true; // sonst sofort +bFast = true; // sonst sofort // marker which was shown for ctrl-F1 isn't removed by mouse events -if ( pNoteMarker->IsByKeyboard() && !bKeyboard ) +if (mpNoteMarker->IsByKeyboard() && !bKeyboard) bNew = false; } -if ( bNew ) +if (bNew) { -if ( bKeyboard ) -bFast = true; // keyboard also shows the marker immediately +if (bKeyboard) +bFast = true; // keyboard also shows the marker immediately -delete pNoteMarker; +mpNoteMarker.reset(); bool bHSplit = pViewData->GetHSplitMode() != SC_SPLIT_NONE; bool bVSplit = pViewData->GetVSplitMode() != SC_SPLIT_NONE; @@ -206,9 +206,9 @@ bool ScGridWindow::ShowNoteMarker( SCsCOL nPosX, SCsROW nPosY, bool bKeyboard ) aOrigin.Y() += aLeftSize.Height