summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tlillqvist@novell.com>2011-05-11 17:56:57 +0300
committerTor Lillqvist <tlillqvist@novell.com>2011-05-11 17:57:11 +0300
commitebe676870f0be76e9425cca56fa626a1cc916591 (patch)
tree9ad803d1cfef373a28aa6e3c94c6651c0f9b1795
parentfa75633e62c7ad1bcdf2c585eb6ab28062b96573 (diff)
Make it compile on Windows
Fix fallout of DECLARE_LIST removal.
-rw-r--r--svl/inc/svl/svdde.hxx2
-rw-r--r--svl/source/svdde/ddecli.cxx22
-rw-r--r--svl/source/svdde/ddeimp.hxx2
-rw-r--r--svl/source/svdde/ddesvr.cxx49
4 files changed, 42 insertions, 33 deletions
diff --git a/svl/inc/svl/svdde.hxx b/svl/inc/svl/svdde.hxx
index 8fb7b2f06f8d..66b04f1866ad 100644
--- a/svl/inc/svl/svdde.hxx
+++ b/svl/inc/svl/svdde.hxx
@@ -406,7 +406,7 @@ public:
static DdeServices& GetServices();
std::vector<DdeTopic*>& GetTopics() { return aTopics; }
- void AddTopic( const DdeTopic& );
+ void AddTopic( DdeTopic& );
void RemoveTopic( const DdeTopic& );
void AddFormat( sal_uLong );
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");