You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by js...@apache.org on 2012/06/22 15:30:44 UTC
svn commit: r1352878 - in /incubator/ooo/trunk/main: sfx2/inc/sfx2/objsh.hxx
sfx2/source/doc/objstor.cxx sw/source/core/layout/paintfrm.cxx
Author: jsc
Date: Fri Jun 22 13:30:43 2012
New Revision: 1352878
URL: http://svn.apache.org/viewvc?rev=1352878&view=rev
Log:
#120030# apply reviewed patch to optimize thumbnail creation/painting
Modified:
incubator/ooo/trunk/main/sfx2/inc/sfx2/objsh.hxx
incubator/ooo/trunk/main/sfx2/source/doc/objstor.cxx
incubator/ooo/trunk/main/sw/source/core/layout/paintfrm.cxx
Modified: incubator/ooo/trunk/main/sfx2/inc/sfx2/objsh.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sfx2/inc/sfx2/objsh.hxx?rev=1352878&r1=1352877&r2=1352878&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sfx2/inc/sfx2/objsh.hxx (original)
+++ incubator/ooo/trunk/main/sfx2/inc/sfx2/objsh.hxx Fri Jun 22 13:30:43 2012
@@ -203,6 +203,7 @@ private:
SfxObjectCreateMode eCreateMode; // Zweck des Objekts
sal_Bool bHasName :1, // sal_True := bestehendes Objekt, sal_False := es ist ein neues Objekt
bIsTmp :1; // temp. Storage
+ sal_Bool bIsInGenerateThumbnail; //optimize thumbnail generate and store procedure to improve odt saving performance, i120030
private:
//#if 0 // _SOLAR__PRIVATE
@@ -439,6 +440,8 @@ public:
sal_Bool bIsTemplate,
const ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream >& xStream );
+ sal_Bool IsInGenerateAndStoreThumbnail() const {return bIsInGenerateThumbnail;}//optimize thumbnail generate and store procedure to improve odt saving performance, i120030
+
// Transfer IFace
void AbortImport();
sal_Bool IsAbortingImport() const;
Modified: incubator/ooo/trunk/main/sfx2/source/doc/objstor.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sfx2/source/doc/objstor.cxx?rev=1352878&r1=1352877&r2=1352878&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sfx2/source/doc/objstor.cxx (original)
+++ incubator/ooo/trunk/main/sfx2/source/doc/objstor.cxx Fri Jun 22 13:30:43 2012
@@ -3692,6 +3692,8 @@ sal_Bool SfxObjectShell::GenerateAndStor
const uno::Reference< embed::XStorage >& xStor )
{
RTL_LOGFILE_CONTEXT( aLog, "sfx2 (mv76033) SfxObjectShell::GenerateAndStoreThumbnail" );
+
+ bIsInGenerateThumbnail = sal_True;//optimize thumbnail generate and store procedure to improve odt saving performance, i120030
sal_Bool bResult = sal_False;
@@ -3716,6 +3718,8 @@ sal_Bool SfxObjectShell::GenerateAndStor
catch( uno::Exception& )
{
}
+
+ bIsInGenerateThumbnail = sal_False;//optimize thumbnail generate and store procedure to improve odt saving performance, i120030
return bResult;
}
Modified: incubator/ooo/trunk/main/sw/source/core/layout/paintfrm.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sw/source/core/layout/paintfrm.cxx?rev=1352878&r1=1352877&r2=1352878&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sw/source/core/layout/paintfrm.cxx (original)
+++ incubator/ooo/trunk/main/sw/source/core/layout/paintfrm.cxx Fri Jun 22 13:30:43 2012
@@ -3522,6 +3522,20 @@ void MA_FASTCALL lcl_PaintLowerBorders(
void SwFlyFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
{
+ //begin:optimize thumbnail generate and store procedure to improve odt saving performance, i120030
+ ViewShell *pShell = getRootFrm()->GetCurrShell();
+ if (pShell && pShell->GetDoc() && pShell->GetDoc()->GetDocShell())
+ {
+ sal_Bool bInGenerateThumbnail = pShell->GetDoc()->GetDocShell()->IsInGenerateAndStoreThumbnail();
+ if (bInGenerateThumbnail)
+ {
+ SwRect aVisRect = pShell->VisArea();
+ if (!aVisRect.IsOver(Frm()))
+ return;
+ }
+ }
+ //end:i120030
+
//wegen der Ueberlappung von Rahmen und Zeichenobjekten muessen die
//Flys ihre Umrandung (und die der Innenliegenden) direkt ausgeben.
//z.B. #33066#