diff options
author | Tor Lillqvist <tlillqvist@novell.com> | 2011-05-11 17:56:57 +0300 |
---|---|---|
committer | Tor Lillqvist <tlillqvist@novell.com> | 2011-05-11 17:57:11 +0300 |
commit | ebe676870f0be76e9425cca56fa626a1cc916591 (patch) | |
tree | 9ad803d1cfef373a28aa6e3c94c6651c0f9b1795 /svl/source | |
parent | fa75633e62c7ad1bcdf2c585eb6ab28062b96573 (diff) |
Make it compile on Windows
Fix fallout of DECLARE_LIST removal.
Diffstat (limited to 'svl/source')
-rw-r--r-- | svl/source/svdde/ddecli.cxx | 22 | ||||
-rw-r--r-- | svl/source/svdde/ddeimp.hxx | 2 | ||||
-rw-r--r-- | svl/source/svdde/ddesvr.cxx | 49 |
3 files changed, 41 insertions, 32 deletions
diff --git a/svl/source/svdde/ddecli.cxx b/svl/source/svdde/ddecli.cxx index ad69e784f425..a2cb7191cd17 100644 --- a/svl/source/svdde/ddecli.cxx +++ b/svl/source/svdde/ddecli.cxx @@ -31,6 +31,7 @@ #define UNICODE #include <string.h> // memset +#include <algorithm> #include "ddeimp.hxx" #include <svl/svdde.hxx> @@ -86,17 +87,17 @@ HDDEDATA CALLBACK DdeInternal::CliCallback( if( self ) { sal_Bool bFound = sal_False; - std::vector<DdeTransaction*> iter; + std::vector<DdeTransaction*>::iterator iter; for( iter = self->aTransactions.begin(); iter != self->aTransactions.end(); ++iter ) { switch( nCode ) { case XTYP_XACT_COMPLETE: - if( (DWORD)iter->nId == nInfo1 ) + if( (DWORD)(*iter)->nId == nInfo1 ) { - nCode = iter->nType & (XCLASS_MASK | XTYP_MASK); - iter->bBusy = sal_False; - iter->Done( 0 != hData ); + nCode = (*iter)->nType & (XCLASS_MASK | XTYP_MASK); + (*iter)->bBusy = sal_False; + (*iter)->Done( 0 != hData ); bFound = sal_True; } break; @@ -112,7 +113,7 @@ HDDEDATA CALLBACK DdeInternal::CliCallback( break; case XTYP_ADVDATA: - bFound = sal_Bool( *iter->pName == hText2 ); + bFound = sal_Bool( *(*iter)->pName == hText2 ); break; } if( bFound ) @@ -142,7 +143,7 @@ HDDEDATA CALLBACK DdeInternal::CliCallback( d.pImp->hData = hData; d.pImp->nFmt = DdeData::GetInternalFormat( nCbType ); d.Lock(); - iter->Data( &d ); + (*iter)->Data( &d ); nRet = (HDDEDATA)DDE_FACK; break; } @@ -200,8 +201,11 @@ DdeConnection::~DdeConnection() DdeInstData* pInst = ImpGetInstData(); DBG_ASSERT(pInst,"SVDDE:No instance data"); - pInst->aConnections.erase(std::remove(pInst->aConnections.begin(), - pInst->aConnections.end(),this)); + std::vector<DdeConnection*>::iterator it(std::find(pInst->aConnections.begin(), + pInst->aConnections.end(), + this)); + if (it != pInst->aConnections.end()) + pInst->aConnections.erase(it); pInst->nInstanceCli--; pInst->nRefCount--; diff --git a/svl/source/svdde/ddeimp.hxx b/svl/source/svdde/ddeimp.hxx index 087139042eed..abf99344cf7c 100644 --- a/svl/source/svdde/ddeimp.hxx +++ b/svl/source/svdde/ddeimp.hxx @@ -135,7 +135,7 @@ struct DdeDataImp sal_uLong nFmt; }; -class DdeConnections; +class DdeConnection; class DdeServices; struct DdeInstData diff --git a/svl/source/svdde/ddesvr.cxx b/svl/source/svdde/ddesvr.cxx index 881e3f225753..2c7439225ef6 100644 --- a/svl/source/svdde/ddesvr.cxx +++ b/svl/source/svdde/ddesvr.cxx @@ -31,6 +31,7 @@ #define UNICODE #include "ddeimp.hxx" +#include <algorithm> #include <svl/svdde.hxx> #include <svl/svarray.hxx> #include <tools/debug.hxx> @@ -330,14 +331,18 @@ found: if( !pItem->pImpData && pTopic->StartAdviseLoop() ) { // dann wurde das Item ausgewechselt - pTopic->aItems.erase(std::remove(pTopic->aItems.begin(), - pTopic->aItems.end(), - pItem)); - - std::vector<DdeItem*> iter; - for( iter = pTopic->aItems.begin(); iter != pTopic->aItems.end(); ++iter ) + std::vector<DdeItem*>::iterator it(std::find(pTopic->aItems.begin(), + pTopic->aItems.end(), + pItem)); + if (it != pTopic->aItems.end()) + pTopic->aItems.erase(it); + + std::vector<DdeItem*>::iterator iter; + for( iter = pTopic->aItems.begin(); + iter != pTopic->aItems.end(); + ++iter ) { - if( *iter->pName == hText2 ) + if( *(*iter)->pName == hText2 ) { // es wurde tatsaechlich ausgewechselt delete pItem; @@ -421,7 +426,7 @@ DdeTopic* DdeInternal::FindTopic( DdeService& rService, HSZ hTopic ) do { // middle check loop for ( iter = rTopics.begin(); iter != rTopics.end(); ++iter ) { - if ( iter->pName == hTopic ) + if ( *(*iter)->pName == hTopic ) return *iter; } @@ -443,7 +448,7 @@ DdeTopic* DdeInternal::FindTopic( DdeService& rService, HSZ hTopic ) DdeItem* DdeInternal::FindItem( DdeTopic& rTopic, HSZ hItem ) { - std::vector<DdeItem>::iterator iter; + std::vector<DdeItem*>::iterator iter; std::vector<DdeItem*> &rItems = rTopic.aItems; DdeInstData* pInst = ImpGetInstData(); DBG_ASSERT(pInst,"SVDDE:No instance data"); @@ -452,7 +457,7 @@ DdeItem* DdeInternal::FindItem( DdeTopic& rTopic, HSZ hItem ) do { // middle check loop for ( iter = rItems.begin(); iter != rItems.end(); ++iter ) - if ( *iter->pName == hItem ) + if ( *(*iter)->pName == hItem ) return *iter; bWeiter = !bWeiter; @@ -565,7 +570,7 @@ DdeServices& DdeService::GetServices() // --- DdeService::AddTopic() -------------------------------------- -void DdeService::AddTopic( const DdeTopic& rTopic ) +void DdeService::AddTopic( DdeTopic& rTopic ) { RemoveTopic( rTopic ); aTopics.push_back(&rTopic); @@ -578,7 +583,7 @@ void DdeService::RemoveTopic( const DdeTopic& rTopic ) std::vector<DdeTopic*>::iterator iter; for ( iter = aTopics.begin(); iter != aTopics.end(); ++iter ) { - if ( !DdeCmpStringHandles (*iter->pName, *rTopic.pName ) ) + if ( !DdeCmpStringHandles (*(*iter)->pName, *rTopic.pName ) ) { aTopics.erase(iter); // JP 27.07.95: und alle Conversions loeschen !!! @@ -656,7 +661,7 @@ DdeTopic::~DdeTopic() std::vector<DdeItem*>::iterator iter; for (iter = aItems.begin(); iter != aItems.end(); ++iter) { - iter->pMyTopic = 0; + (*iter)->pMyTopic = 0; delete *iter; } @@ -712,13 +717,13 @@ void DdeTopic::RemoveItem( const DdeItem& r ) std::vector<DdeItem*>::iterator iter; for (iter = aItems.begin(); iter != aItems.end(); ++iter) { - if ( !DdeCmpStringHandles (*iter->pName, *r.pName ) ) + if ( !DdeCmpStringHandles (*(*iter)->pName, *r.pName ) ) break; } if ( iter != aItems.end() ) { - iter->pMyTopic = 0; + (*iter)->pMyTopic = 0; delete *iter; aItems.erase(iter); } @@ -733,9 +738,9 @@ void DdeTopic::NotifyClient( const String& rItem ) DBG_ASSERT(pInst,"SVDDE:No instance data"); for ( iter = aItems.begin(); iter != aItems.end(); ++iter) { - if ( iter->GetName() == rItem && iter->pImpData) + if ( (*iter)->GetName() == rItem && (*iter)->pImpData) { - DdePostAdvise( pInst->hDdeInstSvr, *pName, *iter->pName ); + DdePostAdvise( pInst->hDdeInstSvr, *pName, *(*iter)->pName ); break; } } @@ -761,7 +766,7 @@ void DdeTopic::_Disconnect( long nId ) { std::vector<DdeItem*>::iterator iter; for (iter = aItems.begin(); iter != aItems.end(); ++iter) - iter->DecMonitor( nId ); + (*iter)->DecMonitor( nId ); Disconnect( nId ); } @@ -1000,14 +1005,14 @@ String DdeService::SysItems() std::vector<DdeItem*>::iterator iterItem; for ( iter = aTopics.begin(); iter != aTopics.end(); ++iter ) { - if ( iter->GetName() == reinterpret_cast<const sal_Unicode*>(SZDDESYS_TOPIC) ) + if ( (*iter)->GetName() == reinterpret_cast<const sal_Unicode*>(SZDDESYS_TOPIC) ) { short n = 0; - for ( iterItem = iter->aItems.begin(); iterItem != iter->aItems.end(); ++iterItem, n++ ) + for ( iterItem = (*iter)->aItems.begin(); iterItem != (*iter)->aItems.end(); ++iterItem, n++ ) { if ( n ) s += '\t'; - s += iterItem->GetName(); + s += (*iterItem)->GetName(); } s += String::CreateFromAscii("\r\n"); } @@ -1028,7 +1033,7 @@ String DdeService::Topics() { if ( n ) s += '\t'; - s += iter->GetName(); + s += (*iter)->GetName(); } s += String::CreateFromAscii("\r\n"); |