Kaydet (Commit) 246c64c6 authored tarafından erack's avatar erack Kaydeden (comit) Thorsten Behrens

impress212: #i117042# added fix for i_updt1.bas testcase

 * found as LGPLv3-only fix at svn rev 1167621 (http://svn.apache.org/viewvc?view=revision&revision=1167621)
üst 9f62089d
...@@ -89,11 +89,11 @@ using namespace ::com::sun::star::io; ...@@ -89,11 +89,11 @@ using namespace ::com::sun::star::io;
// ------------------ // ------------------
const Graphic ImpLoadLinkedGraphic( const String& rFileName, const String& rFilterName ) const Graphic ImpLoadLinkedGraphic( const String aFileName, const String aFilterName )
{ {
Graphic aGraphic; Graphic aGraphic;
SfxMedium xMed( rFileName, STREAM_STD_READ, sal_True ); SfxMedium xMed( aFileName, STREAM_STD_READ, sal_True );
xMed.DownLoad(); xMed.DownLoad();
SvStream* pInStrm = xMed.GetInStream(); SvStream* pInStrm = xMed.GetInStream();
...@@ -102,9 +102,9 @@ const Graphic ImpLoadLinkedGraphic( const String& rFileName, const String& rFilt ...@@ -102,9 +102,9 @@ const Graphic ImpLoadLinkedGraphic( const String& rFileName, const String& rFilt
pInStrm->Seek( STREAM_SEEK_TO_BEGIN ); pInStrm->Seek( STREAM_SEEK_TO_BEGIN );
GraphicFilter& rGF = GraphicFilter::GetGraphicFilter(); GraphicFilter& rGF = GraphicFilter::GetGraphicFilter();
const sal_uInt16 nFilter = rFilterName.Len() && rGF.GetImportFormatCount() const sal_uInt16 nFilter = aFilterName.Len() && rGF.GetImportFormatCount()
? rGF.GetImportFormatNumber( rFilterName ) ? rGF.GetImportFormatNumber( aFilterName )
: GRFILTER_FORMAT_DONTKNOW; : GRFILTER_FORMAT_DONTKNOW;
String aEmptyStr; String aEmptyStr;
com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aFilterData( 1 ); com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aFilterData( 1 );
...@@ -149,7 +149,7 @@ public: ...@@ -149,7 +149,7 @@ public:
void SAL_CALL Terminate( void ); void SAL_CALL Terminate( void );
sal_Bool GraphicLinkChanged( const String& rFileName ){ return mrFileName != rFileName; }; sal_Bool GraphicLinkChanged( const String& rFileName ){ return maFileName != rFileName; };
protected: protected:
...@@ -165,17 +165,16 @@ protected: ...@@ -165,17 +165,16 @@ protected:
private: private:
::osl::Mutex maMutex; const String maFileName;
const String& mrFileName; const String maFilterName;
const String& mrFilterName;
SdrGraphicLink& mrGraphicLink; SdrGraphicLink& mrGraphicLink;
volatile bool mbIsTerminated; volatile bool mbIsTerminated;
}; };
SdrGraphicUpdater::SdrGraphicUpdater( const String& rFileName, const String& rFilterName, SdrGraphicLink& rGraphicLink ) SdrGraphicUpdater::SdrGraphicUpdater( const String& rFileName, const String& rFilterName, SdrGraphicLink& rGraphicLink )
: mrFileName( rFileName ) : maFileName( rFileName )
, mrFilterName( rFilterName ) , maFilterName( rFilterName )
, mrGraphicLink( rGraphicLink ) , mrGraphicLink( rGraphicLink )
, mbIsTerminated( sal_False ) , mbIsTerminated( sal_False )
{ {
...@@ -188,7 +187,6 @@ SdrGraphicUpdater::~SdrGraphicUpdater( void ) ...@@ -188,7 +187,6 @@ SdrGraphicUpdater::~SdrGraphicUpdater( void )
void SdrGraphicUpdater::Terminate() void SdrGraphicUpdater::Terminate()
{ {
::osl::MutexGuard aGuard( maMutex );
mbIsTerminated = sal_True; mbIsTerminated = sal_True;
} }
...@@ -199,8 +197,7 @@ void SAL_CALL SdrGraphicUpdater::onTerminated(void) ...@@ -199,8 +197,7 @@ void SAL_CALL SdrGraphicUpdater::onTerminated(void)
void SAL_CALL SdrGraphicUpdater::run(void) void SAL_CALL SdrGraphicUpdater::run(void)
{ {
Graphic aGraphic( ImpLoadLinkedGraphic( mrFileName, mrFilterName ) ); Graphic aGraphic( ImpLoadLinkedGraphic( maFileName, maFilterName ) );
::osl::MutexGuard aGuard(maMutex);
SolarMutexGuard aSolarGuard; SolarMutexGuard aSolarGuard;
if ( !mbIsTerminated ) if ( !mbIsTerminated )
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment