View | Details | Raw Unified | Return to issue 121066
Collapse All | Expand All

(-)source/filter/ww8/wrtww8.cxx (-14 / +13 lines)
Lines 189-200 Link Here
189
    WW8_CP GetStartCp() const       { return nStartCp; }
189
    WW8_CP GetStartCp() const       { return nStartCp; }
190
    WW8_FC GetStartFc() const       { return nStartFc; }
190
    WW8_FC GetStartFc() const       { return nStartFc; }
191
};
191
};
192
192
typedef std::map<String,WW8_CP> BKMKNames;
193
typedef std::map<String,long> BKMKNames;
194
typedef BKMKNames::iterator BKMKNmItr;
193
typedef BKMKNames::iterator BKMKNmItr;
195
typedef std::pair<bool,String> BKMK;
194
typedef std::pair<bool,String> BKMK;
196
typedef std::pair<long,BKMK> BKMKCP;
195
typedef std::pair<WW8_CP,BKMK> BKMKCP;
197
typedef std::multimap<long,BKMKCP*> BKMKCPs;
196
typedef std::multimap<WW8_CP,BKMKCP*> BKMKCPs;
198
typedef BKMKCPs::iterator CPItr;
197
typedef BKMKCPs::iterator CPItr;
199
198
200
class WW8_WrtBookmarks
199
class WW8_WrtBookmarks
Lines 210-216 Link Here
210
    ~WW8_WrtBookmarks();
209
    ~WW8_WrtBookmarks();
211
    void Append( WW8_CP nStartCp, const String& rNm, const ::sw::mark::IMark* pBkmk=NULL );
210
    void Append( WW8_CP nStartCp, const String& rNm, const ::sw::mark::IMark* pBkmk=NULL );
212
    void Write( WW8Export& rWrt );
211
    void Write( WW8Export& rWrt );
213
    void MoveFieldMarks(sal_uLong nFrom,sal_uLong nTo);
212
    void MoveFieldMarks(WW8_CP nFrom,WW8_CP nTo);
214
};
213
};
215
214
216
WW8_WrtBookmarks::WW8_WrtBookmarks()
215
WW8_WrtBookmarks::WW8_WrtBookmarks()
Lines 231-243 Link Here
231
230
232
void WW8_WrtBookmarks::Append( WW8_CP nStartCp, const String& rNm, const ::sw::mark::IMark*)
231
void WW8_WrtBookmarks::Append( WW8_CP nStartCp, const String& rNm, const ::sw::mark::IMark*)
233
{
232
{
234
    std::pair<BKMKNmItr,bool> aResult = maSwBkmkNms.insert(std::pair<String,long>(rNm,0L));
233
    std::pair<BKMKNmItr,bool> aResult = maSwBkmkNms.insert(std::pair<String,WW8_CP>(rNm,0L));
235
    if (aResult.second)
234
    if (aResult.second)
236
    {
235
    {
237
        BKMK aBK(false,rNm);
236
        BKMK aBK(false,rNm);
238
        BKMKCP* pBKCP = new BKMKCP((long)nStartCp,aBK);
237
        BKMKCP* pBKCP = new BKMKCP(nStartCp,aBK);
239
        aSttCps.insert(std::pair<long,BKMKCP*>(nStartCp,pBKCP));
238
        aSttCps.insert(std::pair<WW8_CP,BKMKCP*>(nStartCp,pBKCP));
240
        aResult.first->second = (long)nStartCp;
239
        aResult.first->second = nStartCp;
241
    }
240
    }
242
    else
241
    else
243
    {
242
    {
Lines 248-254 Link Here
248
            {
247
            {
249
                if (aItr->second->second.first)
248
                if (aItr->second->second.first)
250
                    nStartCp--;
249
                    nStartCp--;
251
                aItr->second->first = (long)nStartCp;
250
                aItr->second->first = nStartCp;
252
                break;
251
                break;
253
            }
252
            }
254
        }
253
        }
Lines 268-274 Link Here
268
    {
267
    {
269
        if (aItr->second)
268
        if (aItr->second)
270
        {
269
        {
271
            aEndCps.insert(std::pair<long,BKMKCP*>(aItr->second->first,aItr->second));
270
            aEndCps.insert(std::pair<WW8_CP,BKMKCP*>(aItr->second->first,aItr->second));
272
            aNames.push_back(aItr->second->second.second);
271
            aNames.push_back(aItr->second->second.second);
273
            SwWW8Writer::WriteLong( aTempStrm1, aItr->first);
272
            SwWW8Writer::WriteLong( aTempStrm1, aItr->first);
274
        }
273
        }
Lines 304-310 Link Here
304
    rWrt.pFib->lcbPlcfbkl = rStrm.Tell() - rWrt.pFib->fcPlcfbkl;
303
    rWrt.pFib->lcbPlcfbkl = rStrm.Tell() - rWrt.pFib->fcPlcfbkl;
305
}
304
}
306
305
307
void WW8_WrtBookmarks::MoveFieldMarks(sal_uLong nFrom,sal_uLong nTo)
306
void WW8_WrtBookmarks::MoveFieldMarks(WW8_CP nFrom,WW8_CP nTo)
308
{
307
{
309
    std::pair<CPItr,CPItr> aRange = aSttCps.equal_range(nFrom);
308
    std::pair<CPItr,CPItr> aRange = aSttCps.equal_range(nFrom);
310
    CPItr aItr = aRange.first;
309
    CPItr aItr = aRange.first;
Lines 317-323 Link Here
317
                aItr->second->second.first = true;
316
                aItr->second->second.first = true;
318
                aItr->second->first = nTo;
317
                aItr->second->first = nTo;
319
            }
318
            }
320
            aSttCps.insert(std::pair<long,BKMKCP*>(nTo,aItr->second));
319
            aSttCps.insert(std::pair<WW8_CP,BKMKCP*>(nTo,aItr->second));
321
            aItr->second = NULL;
320
            aItr->second = NULL;
322
            aRange = aSttCps.equal_range(nFrom);
321
            aRange = aSttCps.equal_range(nFrom);
323
            aItr = aRange.first;
322
            aItr = aRange.first;
Lines 1413-1419 Link Here
1413
    }
1412
    }
1414
}
1413
}
1415
1414
1416
void WW8Export::MoveFieldMarks(sal_uLong nFrom, sal_uLong nTo)
1415
void WW8Export::MoveFieldMarks(WW8_CP nFrom, WW8_CP nTo)
1417
{
1416
{
1418
    pBkmks->MoveFieldMarks(nFrom, nTo);
1417
    pBkmks->MoveFieldMarks(nFrom, nTo);
1419
}
1418
}
(-)source/filter/ww8/wrtww8.hxx (-1 / +1 lines)
Lines 1024-1030 Link Here
1024
1024
1025
    virtual void AppendBookmarks( const SwTxtNode& rNd, xub_StrLen nAktPos, xub_StrLen nLen );
1025
    virtual void AppendBookmarks( const SwTxtNode& rNd, xub_StrLen nAktPos, xub_StrLen nLen );
1026
    virtual void AppendBookmark( const rtl::OUString& rName, bool bSkip = false );
1026
    virtual void AppendBookmark( const rtl::OUString& rName, bool bSkip = false );
1027
    void MoveFieldMarks(sal_uLong nFrom, sal_uLong nTo);
1027
    void MoveFieldMarks(WW8_CP nFrom, WW8_CP nTo);
1028
1028
1029
    void WriteAsStringTable(const ::std::vector<String>&, sal_Int32& rfcSttbf,
1029
    void WriteAsStringTable(const ::std::vector<String>&, sal_Int32& rfcSttbf,
1030
        sal_Int32& rlcbSttbf, sal_uInt16 nExtraLen = 0);
1030
        sal_Int32& rlcbSttbf, sal_uInt16 nExtraLen = 0);
(-)source/filter/ww8/ww8atr.cxx (-1 / +2 lines)
Lines 2528-2534 Link Here
2528
    const SwSetExpField* pSet=(const SwSetExpField*)(&rFld);
2539
    const SwSetExpField* pSet=(const SwSetExpField*)(&rFld);
2529
    const String &rVar = pSet->GetPar2();
2540
    const String &rVar = pSet->GetPar2();
2530
2541
2531
    sal_uLong nFrom = m_rWW8Export.Fc2Cp(m_rWW8Export.Strm().Tell());
2542
    //Modify the type of nFrom from sal_uLong to WW8_CP, which is the original type of returned value of m_rWW8Export.Fc2Cp
2543
    WW8_CP nFrom = m_rWW8Export.Fc2Cp(m_rWW8Export.Strm().Tell());
2532
2544
2533
    GetExport().OutputField(&rFld, eType, rCmd, WRITEFIELD_START |
2545
    GetExport().OutputField(&rFld, eType, rCmd, WRITEFIELD_START |
2534
        WRITEFIELD_CMD_START | WRITEFIELD_CMD_END);
2546
        WRITEFIELD_CMD_START | WRITEFIELD_CMD_END);

Return to issue 121066