[ooo-build-commit] Branch 'ooo/OOO320' - 3 commits - shell/inc shell/prj shell/source svx/inc svx/source

Jan Holesovsky kendy at kemper.freedesktop.org
Fri Nov 20 18:24:02 PST 2009


 shell/inc/internal/config.hxx                                  |    5 
 shell/inc/internal/utilities.hxx                               |   20 
 shell/prj/d.lst                                                |    3 
 shell/source/win32/shlxthandler/infotips/infotips.cxx          |    2 
 shell/source/win32/shlxthandler/makefile.mk                    |   13 
 shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx |    6 
 shell/source/win32/shlxthandler/propsheets/propsheets.cxx      |    3 
 shell/source/win32/shlxthandler/res/makefile.mk                |   10 
 shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx    |   20 
 shell/source/win32/shlxthandler/util/utilities.cxx             |   15 
 svx/inc/svx/numitem.hxx                                        |   30 
 svx/source/cui/numpages.cxx                                    |  133 ++
 svx/source/items/numitem.cxx                                   |  504 +++++-----
 13 files changed, 438 insertions(+), 326 deletions(-)

New commits:
commit d75a7a13bb67dd6d3c0d014a0d82cef26fd09bce
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Fri Nov 20 18:17:23 2009 +0000

    CWS-TOOLING: integrate CWS impress183
    2009-11-17 16:13:56 +0100 cl  r277539 : #i105710# restored bin stream operators for bullet item, still used by outliner clipboard
    2009-11-17 13:26:28 +0100 af  r277533 : #i106710# Fixed region band copy constructor so that it copies the points correctly.

diff --git a/svx/inc/svx/numitem.hxx b/svx/inc/svx/numitem.hxx
index d3d8b57..c7138df 100644
--- a/svx/inc/svx/numitem.hxx
+++ b/svx/inc/svx/numitem.hxx
@@ -76,12 +76,6 @@ namespace com{namespace sun{ namespace star{
 #define SVX_NO_NUM				200 // Markierung fuer keine Numerierung
 #define SVX_NO_NUMLEVEL         0x20
 
-// --> OD 2008-01-10 #newlistlevelattrs# - no longer used
-//#define NUMITEM_VERSION_01        0x01
-//#define NUMITEM_VERSION_02        0x02
-//#define NUMITEM_VERSION_03        0x03
-// <--
-
 #define LINK_TOKEN 	0x80 //indicate linked bitmaps - for use in dialog only
 class SVX_DLLPUBLIC SvxNumberType
 {
@@ -191,14 +185,10 @@ public:
                      SvxNumPositionAndSpaceMode ePositionAndSpaceMode = LABEL_WIDTH_AND_POSITION );
     // <--
     SvxNumberFormat(const SvxNumberFormat& rFormat);
-    // --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//    SvxNumberFormat(SvStream &rStream);
-    // <--
+    SvxNumberFormat(SvStream &rStream);
     virtual ~SvxNumberFormat();
 
-    // --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//    SvStream&       Store(SvStream &rStream, FontToSubsFontConverter pConverter);
-    // <--
+    SvStream&       Store(SvStream &rStream, FontToSubsFontConverter pConverter);
 
     SvxNumberFormat& operator=( const SvxNumberFormat&  );
     BOOL 			operator==( const SvxNumberFormat&  ) const;
@@ -304,9 +294,7 @@ public:
                                 = SvxNumberFormat::LABEL_WIDTH_AND_POSITION );
     // <--
     SvxNumRule(const SvxNumRule& rCopy);
-    // --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//  SvxNumRule(SvStream &rStream);
-    // <--
+    SvxNumRule(SvStream &rStream);
     virtual ~SvxNumRule();
 
     int              		operator==( const SvxNumRule& ) const;
@@ -314,9 +302,7 @@ public:
 
     SvxNumRule& 			operator=( const SvxNumRule&  );
 
-    // --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//    SvStream&               Store(SvStream &rStream);
-    // <--
+    SvStream&               Store(SvStream &rStream);
 
     const SvxNumberFormat* 	Get(USHORT nLevel)const;
     const SvxNumberFormat& 	GetLevel(USHORT nLevel)const;
@@ -354,11 +340,9 @@ public:
     virtual ~SvxNumBulletItem();
 
     virtual SfxPoolItem*     Clone( SfxItemPool *pPool = 0 ) const;
-    // --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//    virtual SfxPoolItem*     Create(SvStream &, USHORT) const;
-//    virtual SvStream&        Store(SvStream &, USHORT nItemVersion ) const;
-//    virtual USHORT           GetVersion( USHORT nFileVersion ) const;
-    // <--
+    virtual SfxPoolItem*     Create(SvStream &, USHORT) const;
+    USHORT  GetVersion( USHORT nFileVersion ) const;
+    virtual SvStream&        Store(SvStream &, USHORT nItemVersion ) const;
     virtual int              operator==( const SfxPoolItem& ) const;
 
     SvxNumRule* 			GetNumRule() const {return pNumRule;}
diff --git a/svx/source/items/numitem.cxx b/svx/source/items/numitem.cxx
index 32a493b..a77a49c 100644
--- a/svx/source/items/numitem.cxx
+++ b/svx/source/items/numitem.cxx
@@ -62,6 +62,11 @@
 #define DEF_WRITER_LSPACE 	500		//Standardeinrueckung
 #define DEF_DRAW_LSPACE 	800		//Standardeinrueckung
 
+#define NUMITEM_VERSION_01        0x01
+#define NUMITEM_VERSION_02        0x02
+#define NUMITEM_VERSION_03        0x03
+#define NUMITEM_VERSION_04        0x04
+
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::uno;
@@ -224,157 +229,184 @@ SvxNumberFormat::~SvxNumberFormat()
 /* -----------------08.12.98 11:14-------------------
  *
  * --------------------------------------------------*/
-//SvxNumberFormat::SvxNumberFormat(SvStream &rStream)
-//{
-//    USHORT nVersion;
-//  rStream >> nVersion;
-
-//  USHORT nUSHORT;
-//  rStream >> nUSHORT;
-//  SetNumberingType((sal_Int16)nUSHORT);
-//  rStream >> nUSHORT;
-//  eNumAdjust      = (SvxAdjust)nUSHORT;
-//  rStream >> nUSHORT;
-//  nInclUpperLevels = (BYTE)nUSHORT;
-//  rStream >> nUSHORT;
-//  nStart          = nUSHORT;
-//  rStream >> nUSHORT;
-//  cBullet = nUSHORT;
-
-//  short nShort;
-//  rStream >> nShort;
-//  nFirstLineOffset        = nShort;
-//  rStream >> nShort;
-//  nAbsLSpace              = nShort;
-//  rStream >> nShort;
-//  nLSpace                 = nShort;
-
-//  rStream >> nShort;
-//  nCharTextDistance       = nShort;
-//  rtl_TextEncoding eEnc = gsl_getSystemTextEncoding();
-//  rStream.ReadByteString(sPrefix, eEnc);
-//  rStream.ReadByteString(sSuffix, eEnc);
-//  rStream.ReadByteString(sCharStyleName, eEnc);
-//  rStream >> nUSHORT;
-//  if(nUSHORT)
-//  {
-//        SvxBrushItem aHelper(0);
-//      pGraphicBrush = (SvxBrushItem*) aHelper.Create( rStream, BRUSH_GRAPHIC_VERSION );
-//  }
-//  else
-//      pGraphicBrush = 0;
-
-//  rStream >> nUSHORT;
-//    eVertOrient          = (sal_Int16)nUSHORT;
-
-//  rStream >> nUSHORT;
-//  if(nUSHORT)
-//  {
-//      pBulletFont = new Font;
-//      rStream >> *pBulletFont;
-//        if(!pBulletFont->GetCharSet())
-//            pBulletFont->SetCharSet(rStream.GetStreamCharSet());
-//    }
-//  else
-//      pBulletFont = 0;
-//  rStream >> aGraphicSize;
-
-//  rStream >> nBulletColor;
-//  rStream >> nUSHORT;
-//  nBulletRelSize = nUSHORT;
-//  rStream >> nUSHORT;
-//  SetShowSymbol((BOOL)nUSHORT);
-
-//  if( nVersion < NUMITEM_VERSION_03 )
-//      cBullet = ByteString::ConvertToUnicode( (sal_Char)cBullet,
-//                          (pBulletFont&&pBulletFont->GetCharSet()) ?  pBulletFont->GetCharSet()
-//                                      : RTL_TEXTENCODING_SYMBOL );
-//    if(pBulletFont)
-//    {
-//        BOOL bConvertBulletFont = rStream.GetVersion() <= SOFFICE_FILEFORMAT_50;
-//        if(bConvertBulletFont)
-//        {
-
-//            FontToSubsFontConverter pConverter =
-//                        CreateFontToSubsFontConverter(pBulletFont->GetName(),
-//                            FONTTOSUBSFONT_IMPORT|FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS);
-//            if(pConverter)
-//            {
-//                cBullet = ConvertFontToSubsFontChar(pConverter, cBullet);
-//                String sFontName = GetFontToSubsFontName(pConverter);
-//                pBulletFont->SetName(sFontName);
-//                DestroyFontToSubsFontConverter(pConverter);
-//            }
-//        }
-//    }
-//}
+SvxNumberFormat::SvxNumberFormat(SvStream &rStream)
+: mePositionAndSpaceMode( LABEL_WIDTH_AND_POSITION ),
+  meLabelFollowedBy( LISTTAB ),
+  mnListtabPos( 0 ),
+  mnFirstLineIndent( 0 ),
+  mnIndentAt( 0 )
+{
+
+    USHORT nVersion;
+  rStream >> nVersion;
+
+  USHORT nUSHORT;
+  rStream >> nUSHORT;
+  SetNumberingType((sal_Int16)nUSHORT);
+  rStream >> nUSHORT;
+  eNumAdjust      = (SvxAdjust)nUSHORT;
+  rStream >> nUSHORT;
+  nInclUpperLevels = (BYTE)nUSHORT;
+  rStream >> nUSHORT;
+  nStart          = nUSHORT;
+  rStream >> nUSHORT;
+  cBullet = nUSHORT;
+
+  short nShort;
+  rStream >> nShort;
+  nFirstLineOffset        = nShort;
+  rStream >> nShort;
+  nAbsLSpace              = nShort;
+  rStream >> nShort;
+  nLSpace                 = nShort;
+
+  rStream >> nShort;
+  nCharTextDistance       = nShort;
+  rtl_TextEncoding eEnc = gsl_getSystemTextEncoding();
+  rStream.ReadByteString(sPrefix, eEnc);
+  rStream.ReadByteString(sSuffix, eEnc);
+  rStream.ReadByteString(sCharStyleName, eEnc);
+  rStream >> nUSHORT;
+  if(nUSHORT)
+  {
+        SvxBrushItem aHelper(0);
+      pGraphicBrush = (SvxBrushItem*) aHelper.Create( rStream, BRUSH_GRAPHIC_VERSION );
+  }
+  else
+      pGraphicBrush = 0;
+
+  rStream >> nUSHORT;
+    eVertOrient          = (sal_Int16)nUSHORT;
+
+  rStream >> nUSHORT;
+  if(nUSHORT)
+  {
+      pBulletFont = new Font;
+      rStream >> *pBulletFont;
+        if(!pBulletFont->GetCharSet())
+            pBulletFont->SetCharSet(rStream.GetStreamCharSet());
+    }
+  else
+      pBulletFont = 0;
+  rStream >> aGraphicSize;
+
+  rStream >> nBulletColor;
+  rStream >> nUSHORT;
+  nBulletRelSize = nUSHORT;
+  rStream >> nUSHORT;
+  SetShowSymbol((BOOL)nUSHORT);
+
+  if( nVersion < NUMITEM_VERSION_03 )
+      cBullet = ByteString::ConvertToUnicode( (sal_Char)cBullet,
+                          (pBulletFont&&pBulletFont->GetCharSet()) ?  pBulletFont->GetCharSet()
+                                      : RTL_TEXTENCODING_SYMBOL );
+    if(pBulletFont)
+    {
+        BOOL bConvertBulletFont = rStream.GetVersion() <= SOFFICE_FILEFORMAT_50;
+        if(bConvertBulletFont)
+        {
+
+            FontToSubsFontConverter pConverter =
+                        CreateFontToSubsFontConverter(pBulletFont->GetName(),
+                            FONTTOSUBSFONT_IMPORT|FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS);
+            if(pConverter)
+            {
+                cBullet = ConvertFontToSubsFontChar(pConverter, cBullet);
+                String sFontName = GetFontToSubsFontName(pConverter);
+                pBulletFont->SetName(sFontName);
+                DestroyFontToSubsFontConverter(pConverter);
+            }
+        }
+    }
+    
+    if( NUMITEM_VERSION_04 <= nVersion )
+    {
+        rStream >> nUSHORT;
+        mePositionAndSpaceMode = (SvxNumPositionAndSpaceMode) nUSHORT;
+        rStream >> nUSHORT;
+        meLabelFollowedBy = ( SvxNumLabelFollowedBy ) nUSHORT;
+        long nLong;
+        rStream >> nLong;
+        mnListtabPos = nLong;
+        rStream >> nLong;        
+        mnFirstLineIndent = nLong;
+        rStream >> nLong;
+        mnIndentAt = nLong;
+    }    
+}
 /* -----------------08.12.98 11:14-------------------
  *
  * --------------------------------------------------*/
-// --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//SvStream&   SvxNumberFormat::Store(SvStream &rStream, FontToSubsFontConverter pConverter)
-//{
-//    if(pConverter && pBulletFont)
-//    {
-//        cBullet = ConvertFontToSubsFontChar(pConverter, cBullet);
-//        String sFontName = GetFontToSubsFontName(pConverter);
-//        pBulletFont->SetName(sFontName);
-//    }
-
-//    rStream << (USHORT)NUMITEM_VERSION_03;
-
-//    rStream << (USHORT)GetNumberingType();
-//    rStream << (USHORT)eNumAdjust;
-//    rStream << (USHORT)nInclUpperLevels;
-//    rStream << nStart;
-//    rStream << (USHORT)cBullet;
-
-//    rStream << nFirstLineOffset;
-//    rStream << nAbsLSpace;
-//    rStream << nLSpace;
-
-//    rStream << nCharTextDistance;
-//    rtl_TextEncoding eEnc = gsl_getSystemTextEncoding();
-//    rStream.WriteByteString(sPrefix, eEnc);
-//    rStream.WriteByteString(sSuffix, eEnc);
-//    rStream.WriteByteString(sCharStyleName, eEnc);
-//    if(pGraphicBrush)
-//    {
-//        rStream << (USHORT)1;
-
-//        // #75113# in SD or SI force bullet itself to be stored,
-//        // for that purpose throw away link when link and graphic
-//        // are present, so Brush save is forced
-//        if(pGraphicBrush->GetGraphicLink() && pGraphicBrush->GetGraphic())
-//        {
-//            String aEmpty;
-//            pGraphicBrush->SetGraphicLink(aEmpty);
-//        }
-
-//        pGraphicBrush->Store(rStream, BRUSH_GRAPHIC_VERSION);
-//    }
-//    else
-//        rStream << (USHORT)0;
-
-//    rStream << (USHORT)eVertOrient;
-//    if(pBulletFont)
-//    {
-//        rStream << (USHORT)1;
-//        rStream << *pBulletFont;
-//    }
-//    else
-//        rStream << (USHORT)0;
-//    rStream << aGraphicSize;
-
-//    Color nTempColor = nBulletColor;
-//    if(COL_AUTO == nBulletColor.GetColor())
-//        nTempColor = COL_BLACK;
-//    rStream << nTempColor;
-//    rStream << nBulletRelSize;
-//    rStream << (USHORT)IsShowSymbol();
-//    return rStream;
-//}
-// <--
+SvStream&   SvxNumberFormat::Store(SvStream &rStream, FontToSubsFontConverter pConverter)
+{
+    if(pConverter && pBulletFont)
+    {
+        cBullet = ConvertFontToSubsFontChar(pConverter, cBullet);
+        String sFontName = GetFontToSubsFontName(pConverter);
+        pBulletFont->SetName(sFontName);
+    }
+
+    rStream << (USHORT)NUMITEM_VERSION_04;
+
+    rStream << (USHORT)GetNumberingType();
+    rStream << (USHORT)eNumAdjust;
+    rStream << (USHORT)nInclUpperLevels;
+    rStream << nStart;
+    rStream << (USHORT)cBullet;
+
+    rStream << nFirstLineOffset;
+    rStream << nAbsLSpace;
+    rStream << nLSpace;
+
+    rStream << nCharTextDistance;
+    rtl_TextEncoding eEnc = gsl_getSystemTextEncoding();
+    rStream.WriteByteString(sPrefix, eEnc);
+    rStream.WriteByteString(sSuffix, eEnc);
+    rStream.WriteByteString(sCharStyleName, eEnc);
+    if(pGraphicBrush)
+    {
+        rStream << (USHORT)1;
+
+        // #75113# in SD or SI force bullet itself to be stored,
+        // for that purpose throw away link when link and graphic
+        // are present, so Brush save is forced
+        if(pGraphicBrush->GetGraphicLink() && pGraphicBrush->GetGraphic())
+        {
+            String aEmpty;
+            pGraphicBrush->SetGraphicLink(aEmpty);
+        }
+
+        pGraphicBrush->Store(rStream, BRUSH_GRAPHIC_VERSION);
+    }
+    else
+        rStream << (USHORT)0;
+
+    rStream << (USHORT)eVertOrient;
+    if(pBulletFont)
+    {
+        rStream << (USHORT)1;
+        rStream << *pBulletFont;
+    }
+    else
+        rStream << (USHORT)0;
+    rStream << aGraphicSize;
+
+    Color nTempColor = nBulletColor;
+    if(COL_AUTO == nBulletColor.GetColor())
+        nTempColor = COL_BLACK;
+    rStream << nTempColor;
+    rStream << nBulletRelSize;
+    rStream << (USHORT)IsShowSymbol();
+
+    rStream << ( USHORT ) mePositionAndSpaceMode;
+    rStream << ( USHORT ) meLabelFollowedBy;
+    rStream << ( long ) mnListtabPos;
+    rStream << ( long ) mnFirstLineIndent;
+    rStream << ( long ) mnIndentAt;
+
+    return rStream;
+}
+
 /* -----------------------------23.02.01 11:10--------------------------------
 
  ---------------------------------------------------------------------------*/
@@ -839,80 +871,79 @@ SvxNumRule::SvxNumRule(const SvxNumRule& rCopy)
 /* -----------------08.12.98 11:07-------------------
  *
  * --------------------------------------------------*/
-//SvxNumRule::SvxNumRule(SvStream &rStream)
-//{
-//    ++nRefCount;
-//    LanguageType eLang = Application::GetSettings().GetLanguage();
-//    aLocale = SvxCreateLocale(eLang);
-//    USHORT nVersion;
-//    USHORT nTemp;
-//    rStream >> nVersion;
-//    rStream >> nLevelCount;
-//    rStream >> nTemp;
-//    nFeatureFlags = nTemp;
-//    rStream >> nTemp;
-//    bContinuousNumbering = (BOOL)nTemp;
-//    rStream >> nTemp;
-//    eNumberingType       = (SvxNumRuleType)nTemp;
-//    memset( aFmts, 0, sizeof( aFmts ));
-
-//    for(USHORT i = 0; i < SVX_MAX_NUM; i++)
-//    {
-//        USHORT nSet;
-//        rStream >> nSet;
-//        if(nSet)
-//            aFmts[i] = new SvxNumberFormat(rStream);
-//        else
-//            aFmts[i] = 0;
-//        aFmtsSet[i] = aFmts[i] ? TRUE : FALSE;
-//    }
-//    if(NUMITEM_VERSION_02 <= nVersion)
-//    {
-//        USHORT nShort;
-//        rStream >> nShort;
-//        nFeatureFlags = nShort;
-//    }
-//}
+SvxNumRule::SvxNumRule(SvStream &rStream)
+{
+    ++nRefCount;
+    LanguageType eLang = Application::GetSettings().GetLanguage();
+    aLocale = SvxCreateLocale(eLang);
+    USHORT nVersion;
+    USHORT nTemp;
+    rStream >> nVersion;
+    rStream >> nLevelCount;
+    rStream >> nTemp;
+    nFeatureFlags = nTemp;
+    rStream >> nTemp;
+    bContinuousNumbering = (BOOL)nTemp;
+    rStream >> nTemp;
+    eNumberingType       = (SvxNumRuleType)nTemp;
+    memset( aFmts, 0, sizeof( aFmts ));
+
+    for(USHORT i = 0; i < SVX_MAX_NUM; i++)
+    {
+        USHORT nSet;
+        rStream >> nSet;
+        if(nSet)
+            aFmts[i] = new SvxNumberFormat(rStream);
+        else
+            aFmts[i] = 0;
+        aFmtsSet[i] = aFmts[i] ? TRUE : FALSE;
+    }
+    if(NUMITEM_VERSION_02 <= nVersion)
+    {
+        USHORT nShort;
+        rStream >> nShort;
+        nFeatureFlags = nShort;
+    }
+}
 
 /* -----------------08.12.98 11:07-------------------
  *
  * --------------------------------------------------*/
-// --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//SvStream&   SvxNumRule::Store(SvStream &rStream)
-//{
-//    rStream<<(USHORT)NUMITEM_VERSION_03;
-//    rStream<<nLevelCount;
-//    //first save of nFeatureFlags for old versions
-//    rStream<<(USHORT)nFeatureFlags;
-//    rStream<<(USHORT)bContinuousNumbering;
-//    rStream<<(USHORT)eNumberingType;
-
-//    FontToSubsFontConverter pConverter = 0;
-//    BOOL bConvertBulletFont = rStream.GetVersion() <= SOFFICE_FILEFORMAT_50;
-//    for(USHORT i = 0; i < SVX_MAX_NUM; i++)
-//    {
-//        if(aFmts[i])
-//        {
-//            rStream << USHORT(1);
-//            if(bConvertBulletFont && aFmts[i]->GetBulletFont())
-//            {
-//                if(!pConverter)
-//                    pConverter =
-//                        CreateFontToSubsFontConverter(aFmts[i]->GetBulletFont()->GetName(),
-//                                    FONTTOSUBSFONT_EXPORT|FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS);
-//            }
-//            aFmts[i]->Store(rStream, pConverter);
-//        }
-//        else
-//            rStream << USHORT(0);
-//    }
-//    //second save of nFeatureFlags for new versions
-//    rStream<<(USHORT)nFeatureFlags;
-//    if(pConverter)
-//        DestroyFontToSubsFontConverter(pConverter);
-
-//    return rStream;
-//}
+SvStream&   SvxNumRule::Store(SvStream &rStream)
+{
+    rStream<<(USHORT)NUMITEM_VERSION_03;
+    rStream<<nLevelCount;
+    //first save of nFeatureFlags for old versions
+    rStream<<(USHORT)nFeatureFlags;
+    rStream<<(USHORT)bContinuousNumbering;
+    rStream<<(USHORT)eNumberingType;
+
+    FontToSubsFontConverter pConverter = 0;
+    BOOL bConvertBulletFont = rStream.GetVersion() <= SOFFICE_FILEFORMAT_50;
+    for(USHORT i = 0; i < SVX_MAX_NUM; i++)
+    {
+        if(aFmts[i])
+        {
+            rStream << USHORT(1);
+            if(bConvertBulletFont && aFmts[i]->GetBulletFont())
+            {
+                if(!pConverter)
+                    pConverter =
+                        CreateFontToSubsFontConverter(aFmts[i]->GetBulletFont()->GetName(),
+                                    FONTTOSUBSFONT_EXPORT|FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS);
+            }
+            aFmts[i]->Store(rStream, pConverter);
+        }
+        else
+            rStream << USHORT(0);
+    }
+    //second save of nFeatureFlags for new versions
+    rStream<<(USHORT)nFeatureFlags;
+    if(pConverter)
+        DestroyFontToSubsFontConverter(pConverter);
+
+    return rStream;
+}
 
 /* -----------------27.10.98 10:41-------------------
  *
@@ -1179,32 +1210,23 @@ SfxPoolItem*  SvxNumBulletItem::Clone( SfxItemPool * ) const
 /* -----------------08.12.98 10:43-------------------
  *
  * --------------------------------------------------*/
-// --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//SfxPoolItem*     SvxNumBulletItem::Create(SvStream &rStream, USHORT) const
-//{
-//    SvxNumRule aRule(rStream);
-//    return new SvxNumBulletItem(aRule, Which() );
-//}
-// <--
-/* -----------------08.12.98 10:43-------------------
- *
- * --------------------------------------------------*/
-// --> OD 2008-01-09 #newlistlevelattrs# - no longer used
-//SvStream&   SvxNumBulletItem::Store(SvStream &rStream, USHORT /*nItemVersion*/ )const
-//{
-//    pNumRule->Store(rStream);
-//    return rStream;
-//}
-// <--
+SfxPoolItem*     SvxNumBulletItem::Create(SvStream &rStream, USHORT) const
+{
+    SvxNumRule aRule(rStream);
+    return new SvxNumBulletItem(aRule, Which() );
+}
+USHORT  SvxNumBulletItem::GetVersion( USHORT /*nFileVersion*/ ) const
+{
+    return NUMITEM_VERSION_03;
+}
 /* -----------------08.12.98 10:43-------------------
  *
  * --------------------------------------------------*/
-// --> OD 2008-01-10 #newlistlevelattrs# - no longer used
-//USHORT  SvxNumBulletItem::GetVersion( USHORT /*nFileVersion*/ ) const
-//{
-//    return NUMITEM_VERSION_03;
-//}
-// <--
+SvStream&   SvxNumBulletItem::Store(SvStream &rStream, USHORT /*nItemVersion*/ )const
+{
+    pNumRule->Store(rStream);
+    return rStream;
+}
 
 /* -----------------08.12.98 10:43-------------------
  *
commit 5871ef0cd513c25b3e724bbda9e91e84b2ab2896
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Fri Nov 20 15:29:19 2009 +0000

    CWS-TOOLING: integrate CWS impress182
    2009-11-10 16:17:30 +0100 cl  r277433 : #i106678# remove unnecessary scaling as it causes only trouble
    2009-11-09 15:10:33 +0100 cl  r277413 : #i106678# fixed previous fix as writer pool returns wrong which id for slod SID_ATTR_NUMBERING_RULE

diff --git a/svx/source/cui/numpages.cxx b/svx/source/cui/numpages.cxx
index ce2ae15..6069efd 100644
--- a/svx/source/cui/numpages.cxx
+++ b/svx/source/cui/numpages.cxx
@@ -378,12 +378,24 @@ int  SvxSingleNumPickTabPage::DeactivatePage(SfxItemSet *_pSet)
 
 void  SvxSingleNumPickTabPage::Reset( const SfxItemSet& rSet )
 {
-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
-    
-    const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
-
+    const SfxPoolItem* pItem;
+//	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
+    //im Draw gibt es das Item als WhichId, im Writer nur als SlotId
+    SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
+    if(eState != SFX_ITEM_SET)
+    {
+        nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
+        eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
+        
+        if( eState != SFX_ITEM_SET )
+        {
+            pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
+            eState = SFX_ITEM_SET;
+        }
+    }
+    DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
     delete pSaveNum;
-    pSaveNum = new SvxNumRule(*rItem.GetNumRule());
+    pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
 
     if(!pActNum)
         pActNum = new  SvxNumRule(*pSaveNum);
@@ -564,12 +576,24 @@ int  SvxBulletPickTabPage::DeactivatePage(SfxItemSet *_pSet)
 
 void  SvxBulletPickTabPage::Reset( const SfxItemSet& rSet )
 {
-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
-    
-    const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
-    
+    const SfxPoolItem* pItem;
+    //im Draw gibt es das Item als WhichId, im Writer nur als SlotId
+    SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
+    if(eState != SFX_ITEM_SET)
+    {
+        nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
+        eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
+        
+        if( eState != SFX_ITEM_SET )
+        {
+            pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
+            eState = SFX_ITEM_SET;
+        }
+        
+    }
+    DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
     delete pSaveNum;
-    pSaveNum = new SvxNumRule(*rItem.GetNumRule());
+    pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
 
 //	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
 
@@ -789,12 +813,24 @@ int  SvxNumPickTabPage::DeactivatePage(SfxItemSet *_pSet)
 
 void  SvxNumPickTabPage::Reset( const SfxItemSet& rSet )
 {
-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
-    
-    const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
-    
+    const SfxPoolItem* pItem;
+    //im Draw gibt es das Item als WhichId, im Writer nur als SlotId
+    SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
+    if(eState != SFX_ITEM_SET)
+    {
+        nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
+        eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
+        
+        if( eState != SFX_ITEM_SET )
+        {
+            pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
+            eState = SFX_ITEM_SET;
+        }
+        
+    }
+    DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
     delete pSaveNum;
-    pSaveNum = new SvxNumRule(*rItem.GetNumRule());
+    pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
 
 //	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
     if(!pActNum)
@@ -1089,12 +1125,24 @@ BOOL  SvxBitmapPickTabPage::FillItemSet( SfxItemSet& rSet )
 
 void  SvxBitmapPickTabPage::Reset( const SfxItemSet& rSet )
 {
-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
-    
-    const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
-    
+    const SfxPoolItem* pItem;
+    //im Draw gibt es das Item als WhichId, im Writer nur als SlotId
+    SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
+    if(eState != SFX_ITEM_SET)
+    {
+        nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
+        eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
+        
+        if( eState != SFX_ITEM_SET )
+        {
+            pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
+            eState = SFX_ITEM_SET;
+        }
+        
+    }
+    DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
     delete pSaveNum;
-    pSaveNum = new SvxNumRule(*rItem.GetNumRule());
+    pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
 
     if(!pActNum)
         pActNum = new  SvxNumRule(*pSaveNum);
@@ -1516,12 +1564,24 @@ BOOL 	SvxNumOptionsTabPage::FillItemSet( SfxItemSet& rSet )
 --------------------------------------------------*/
 void 	SvxNumOptionsTabPage::Reset( const SfxItemSet& rSet )
 {
-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
-    
-    const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
-    
+    const SfxPoolItem* pItem;
+    //im Draw gibt es das Item als WhichId, im Writer nur als SlotId
+    SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
+    if(eState != SFX_ITEM_SET)
+    {
+        nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
+        eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
+        
+        if( eState != SFX_ITEM_SET )
+        {
+            pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
+            eState = SFX_ITEM_SET;
+        }
+        
+    }
+    DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
     delete pSaveNum;
-    pSaveNum = new SvxNumRule(*rItem.GetNumRule());
+    pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
 
     // Ebenen einfuegen
     if(!aLevelLB.GetEntryCount())
@@ -1565,7 +1625,6 @@ void 	SvxNumOptionsTabPage::Reset( const SfxItemSet& rSet )
     pPreviewWIN->SetNumRule(pActNum);
     aSameLevelCB.Check(pActNum->IsContinuousNumbering());
 
-    const SfxPoolItem* pItem = 0;
     //ColorListBox bei Bedarf fuellen
     if ( pActNum->IsFeatureSupported( NUM_BULLET_COLOR ) )
     {
@@ -3409,12 +3468,24 @@ BOOL SvxNumPositionTabPage::FillItemSet( SfxItemSet& rSet )
 --------------------------------------------------*/
 void SvxNumPositionTabPage::Reset( const SfxItemSet& rSet )
 {
-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
-    
-    const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
-    
+    const SfxPoolItem* pItem;
+    //im Draw gibt es das Item als WhichId, im Writer nur als SlotId
+    SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
+    if(eState != SFX_ITEM_SET)
+    {
+        nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
+        eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
+                
+        if( eState != SFX_ITEM_SET )
+        {
+            pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
+            eState = SFX_ITEM_SET;
+        }
+
+    }
+    DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
     delete pSaveNum;
-    pSaveNum = new SvxNumRule(*rItem.GetNumRule());
+    pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
 
     // Ebenen einfuegen
     if(!aLevelLB.GetEntryCount())
commit a778aa98840a4800a9c9a958731c07550eb8b874
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Fri Nov 20 13:56:43 2009 +0000

    CWS-TOOLING: integrate CWS tkr28
    2009-11-12 15:21:09 +0100 tkr  r277479 : #i105892# install ifilter for x64 and x86
    2009-11-11 07:39:36 +0100 tkr  r277439 : #105892# declare RegDeleteKeyExA  for mingw
    2009-11-11 07:38:38 +0100 tkr  r277438 : #105892# define KEY_WOW64_64KEY for mingw
    2009-11-10 10:43:56 +0100 tkr  r277422 : #105892# define KEY_WOW64_64KEY for mingw
    2009-11-10 08:41:11 +0100 tkr  r277419 : #105892# define KEY_WOW64_64KEY for mingw
    2009-11-10 08:38:52 +0100 tkr  r277418 : #105892# define KEY_WOW64_64KEY for mingw
    2009-11-10 08:31:09 +0100 tkr  r277417 : #105892# define KEY_WOW64_64KEY for mingw
    2009-11-09 10:08:42 +0100 tkr  r277403 : #105892# define KEY_WOW64_64KEY for mingw
    2009-11-06 14:10:13 +0100 tkr  r277386 : #105892# define KEY_WOW64_64KEY for mingw
    2009-11-06 14:08:29 +0100 tkr  r277384 : #105892# define KEY_WOW64_64KEY for mingw
    2009-11-06 12:09:12 +0100 tkr  r277381 : #105892# new BUILD_X64 variable for wntmsci12
    2009-11-03 14:44:33 +0100 mav  r277321 : #i106476# support 64-bit IE
    2009-11-03 11:53:01 +0100 mav  r277317 : #i106476# support 64-bit IE
    2009-11-03 11:50:31 +0100 mav  r277316 : #i106476# support 64-bit IE
    2009-11-03 10:09:46 +0100 mav  r277313 : #i106476# support 64-bit IE
    2009-11-02 22:21:20 +0100 mav  r277306 : #i106476# support 64-bit IE
    2009-11-02 21:33:49 +0100 mav  r277305 : #i106476# support 64-bit IE
    2009-11-02 13:39:18 +0100 tkr  r277296 : #105892# adjust customaction conditions
    2009-11-02 13:38:02 +0100 tkr  r277295 : #105892# fix reg64 customaction deinstallation
    2009-11-02 12:23:50 +0100 dv  r277292 : #i106129# cygwin uses case sensitive file names
    2009-11-02 08:49:04 +0100 tkr  r277287 : #105892# fix reg64 customaction
    2009-11-01 09:08:16 +0100 tkr  r277283 : #105892# build selected modules in x64 too
    2009-11-01 09:05:59 +0100 tkr  r277282 : #105892# add new registry entries for x64
    2009-11-01 09:04:50 +0100 tkr  r277281 : #105892# add new registry entries for x64
    2009-11-01 09:02:07 +0100 tkr  r277280 : #105892# add new *_x64 libs to instset
    2009-11-01 09:00:51 +0100 tkr  r277279 : #105892# add new BUILD_X64 variable
    2009-11-01 08:59:16 +0100 tkr  r277278 : #105892# add new reg64 customaction
    2009-11-01 08:56:23 +0100 tkr  r277277 : #105892# deliver new x64 libs to solver and made the  client name of the ooofiltproxy depends to x86/x64 builds
    2009-10-30 15:56:01 +0100 mav  r277276 : #i106476# support 64-bit IE
    2009-10-30 15:44:28 +0100 mav  r277275 : #i106476# support 64-bit IE
    2009-10-30 15:43:50 +0100 mav  r277274 : #i106476# support 64-bit IE
    2009-10-30 15:35:58 +0100 dv  r277273 : #i106129# we might need the VCRedist_x64.exe for 64 bit windows
    2009-10-30 13:37:59 +0100 mav  r277267 : #i106476# support 64-bit IE
    2009-10-30 12:51:50 +0100 mav  r277264 : #i106476# support 64-bit IE
    2009-10-30 12:48:15 +0100 mav  r277263 : #i106476# support 64-bit IE
    2009-10-29 15:54:41 +0100 dv  r277255 : #i106129# Don't use debug system libraries until we fully support x64 on windows
    2009-10-29 15:49:54 +0100 dv  r277254 : #i106129# Some changes to support 64Bit Windows
    2009-10-23 13:34:10 +0200 obo  r277159 : #i105892# Windows 64 Bit support
    2009-10-23 13:23:30 +0200 obo  r277153 : #i105892# Windows 64 Bit support SLO->SLO_X64
    2009-10-23 13:15:57 +0200 obo  r277147 : #i105892# Windows 64 Bit support
    2009-10-23 13:12:07 +0200 obo  r277145 : #i105892# Windows 64 Bit support
    2009-10-23 13:04:07 +0200 is  r277143 : #i105892# preparing 64 bit Windows registry table
    2009-10-23 10:27:58 +0200 is  r277133 : #i105892# support for 64 bit registry in scp2

diff --git a/shell/inc/internal/config.hxx b/shell/inc/internal/config.hxx
index 21c4387..caf33f3 100644
--- a/shell/inc/internal/config.hxx
+++ b/shell/inc/internal/config.hxx
@@ -39,8 +39,13 @@
 #include <tchar.h>
 #endif
 
+#ifdef _AMD64_
+#define MODULE_NAME TEXT("shlxthdl_x64.dll")
+#define MODULE_NAME_FILTER TEXT("ooofilt_x64.dll")
+#else
 #define MODULE_NAME TEXT("shlxthdl.dll")
 #define MODULE_NAME_FILTER TEXT("ooofilt.dll")
+#endif
 
 #define COLUMN_HANDLER_DESCRIPTIVE_NAME    TEXT("OpenOffice.org Column Handler")
 #define INFOTIP_HANDLER_DESCRIPTIVE_NAME   TEXT("OpenOffice.org Infotip Handler")
diff --git a/shell/inc/internal/utilities.hxx b/shell/inc/internal/utilities.hxx
index 9d5b431..ebdf605 100644
--- a/shell/inc/internal/utilities.hxx
+++ b/shell/inc/internal/utilities.hxx
@@ -47,6 +47,7 @@
 #include "internal/types.hxx"
 
 #include <string>
+#include <strsafe.h>
 
 //---------------------------------
 /** Convert a string to a wstring
@@ -89,4 +90,23 @@ bool HasOnlySpaces(const std::wstring& String);
 LCID LocaleSetToLCID( const LocaleSet_t & Locale );
 #endif
 
+//----------------------------------------------------------
+#ifdef DEBUG
+inline void OutputDebugStringFormat( LPCSTR pFormat, ... )
+{
+    CHAR    buffer[1024];
+    va_list args;
+
+    va_start( args, pFormat );
+    StringCchVPrintfA( buffer, sizeof(buffer), pFormat, args );
+    OutputDebugStringA( buffer );
+}
+#else
+static inline void OutputDebugStringFormat( LPCSTR, ... )
+{
+}
+#endif
+//----------------------------------------------------------
+
+
 #endif
diff --git a/shell/prj/d.lst b/shell/prj/d.lst
index 98d4a62..d623a55 100644
--- a/shell/prj/d.lst
+++ b/shell/prj/d.lst
@@ -4,6 +4,9 @@
 ..\%__SRC%\lib\*.uno.so %_DEST%\lib%_EXT%\*.uno.so
 ..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%\*.dll
 ..\%__SRC%\bin\*.exe %_DEST%\bin%_EXT%\*.exe
+..\%__SRC%\bin\x64\shlxthdl.dll %_DEST%\bin%_EXT%\shlxthdl_x64.dll
+..\%__SRC%\bin\x64\ooofiltproxy.dll %_DEST%\bin%_EXT%\ooofiltproxy_x64.dll
+..\%__SRC%\bin\x64\ooofilt.dll %_DEST%\bin%_EXT%\ooofilt_x64.dll
 ..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
 ..\%__SRC%\lib\*.a %_DEST%\lib%_EXT%\*.a
 
diff --git a/shell/source/win32/shlxthandler/infotips/infotips.cxx b/shell/source/win32/shlxthandler/infotips/infotips.cxx
index 2b0826f..4ebe4c6 100644
--- a/shell/source/win32/shlxthandler/infotips/infotips.cxx
+++ b/shell/source/win32/shlxthandler/infotips/infotips.cxx
@@ -45,6 +45,8 @@
 #include <stdio.h>
 #include <utility>
 #include <stdlib.h>
+
+
 #define MAX_STRING 80
 #define KB 1024.0
 const std::wstring WSPACE = std::wstring(SPACE);
diff --git a/shell/source/win32/shlxthandler/makefile.mk b/shell/source/win32/shlxthandler/makefile.mk
index 07eea87..479f8c0 100644
--- a/shell/source/win32/shlxthandler/makefile.mk
+++ b/shell/source/win32/shlxthandler/makefile.mk
@@ -1,7 +1,7 @@
 #*************************************************************************
 #
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
+#
 # Copyright 2008 by Sun Microsystems, Inc.
 #
 # OpenOffice.org - a multi-platform office productivity suite
@@ -123,17 +123,17 @@ SHL1STDLIBS_X64+=\
     $(SHELL32LIB_X64)\
     $(KERNEL32LIB_X64)\
     $(GDI32LIB_X64)\
-    $(MSVCRT_X64) \
-    $(MSVCPRT_X64) \
     $(USER32LIB_X64) \
-    $(OLDNAMESLIB_X64) \
-    $(GDIPLUSLIB_X64)
+    $(GDIPLUSLIB_X64) \
+    $(MSVCRT_X64)   \
+    $(MSVCPRT_X64)  \
+    $(OLDNAMESLIB_X64)
 
 SHL1LIBS_X64+=$(SLB_X64)$/util.lib\
     $(SLB_X64)$/ooofilereader.lib
 SHL1OBJS_X64=$(SLOFILES_X64)
 SHL1DEF_X64=$(MISC_X64)$/$(SHL1TARGET).def
-SHL1RES_X64=$(RES_X64)$/$(TARGET)_x64.res
+SHL1RES_X64=$(RES_X64)$/$(TARGET).res
 
 DEF1NAME_X64=$(SHL1TARGET_X64)
 DEF1EXPORTFILE_X64=exports.dxp
@@ -144,3 +144,4 @@ DEF1EXPORTFILE_X64=exports.dxp
 .INCLUDE :	set_wntx64.mk
 .INCLUDE :	target.mk
 .INCLUDE :	tg_wntx64.mk
+
diff --git a/shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx b/shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx
index b3bbe22..4836eb3 100644
--- a/shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx
+++ b/shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx
@@ -42,6 +42,7 @@
 #ifdef __MINGW32__
 #include <basetyps.h>
 #endif
+#include "internal/config.hxx"
 
 
 /*
@@ -87,8 +88,9 @@ void Init()
     {
         TCHAR buff[MAX_PATH];
         GetModuleFileName(hThisLibrary, buff, (sizeof(buff)/sizeof(TCHAR)));            
-        PathTruncateFileName(buff);    
-        lstrcat(buff, TEXT("ooofilt.dll"));
+        PathTruncateFileName(buff);
+
+        lstrcat(buff, MODULE_NAME_FILTER);
         
         hOoofilt = LoadLibraryEx(buff, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
         
diff --git a/shell/source/win32/shlxthandler/propsheets/propsheets.cxx b/shell/source/win32/shlxthandler/propsheets/propsheets.cxx
index c901c7b..7172fa8 100644
--- a/shell/source/win32/shlxthandler/propsheets/propsheets.cxx
+++ b/shell/source/win32/shlxthandler/propsheets/propsheets.cxx
@@ -177,7 +177,6 @@ HRESULT STDMETHODCALLTYPE CPropertySheet::Initialize(
 
 HRESULT STDMETHODCALLTYPE CPropertySheet::AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam)
 {
-    
     PROPSHEETPAGE psp;
 
     // add the summary property page
@@ -309,7 +308,6 @@ BOOL CALLBACK CPropertySheet::PropPageStatisticsProc(HWND hwnd, UINT uiMsg, WPAR
 //##################################
 void CPropertySheet::InitPropPageSummary(HWND hwnd, LPPROPSHEETPAGE /*lppsp*/)
 {
-
     CMetaInfoReader metaInfo(m_szFileName);
 
     SetWindowText(GetDlgItem(hwnd,IDC_TITLE),    metaInfo.getTagData( META_INFO_TITLE ).c_str() );
@@ -335,7 +333,6 @@ void CPropertySheet::InitPropPageSummary(HWND hwnd, LPPROPSHEETPAGE /*lppsp*/)
 */
 void CPropertySheet::InitPropPageStatistics(HWND hwnd, LPPROPSHEETPAGE /*lppsp*/)
 {	
-
     CMetaInfoReader metaInfo(m_szFileName);
 
     document_statistic_reader_ptr doc_stat_reader = create_document_statistic_reader(m_szFileName, &metaInfo);
diff --git a/shell/source/win32/shlxthandler/res/makefile.mk b/shell/source/win32/shlxthandler/res/makefile.mk
index 0889350..8f8c776 100644
--- a/shell/source/win32/shlxthandler/res/makefile.mk
+++ b/shell/source/win32/shlxthandler/res/makefile.mk
@@ -53,9 +53,19 @@ ULFDIR:=$(COMMONMISC)$/$(TARGET)
 .ELSE			# "$(WITH_LANG)"!=""
 ULFDIR:=.
 .ENDIF			# "$(WITH_LANG)"!=""
+
 # --- Targets ------------------------------------------------------
 
+.IF "$(BUILD_X64)"!=""
+$(RES)$/x64$/$(TARGET).res : $(RES)$/$(TARGET).res
+    -$(MKDIR) $(RES)$/x64
+    @@cp $< $@
+.ENDIF # "$(BUILD_X64)"!=""
+
+.INCLUDE :	set_wntx64.mk
 .INCLUDE :	target.mk
+.INCLUDE :	tg_wntx64.mk
+
 
 
 # Generate the native Windows resource file
diff --git a/shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx b/shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx
index 9c9952e..0c77dc2 100644
--- a/shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx
+++ b/shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx
@@ -30,19 +30,21 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_shell.hxx"
+
 #include "internal/global.hxx"
 
 #ifndef INFOTIPS_HXX_INCLUDED
 #include "internal/thumbviewer.hxx"
 #endif
 #include "internal/shlxthdl.hxx"
-#include "internal/utilities.hxx"
 #include "internal/registry.hxx"
 #include "internal/fileextensions.hxx"
 #include "internal/config.hxx"
 #include "internal/zipfile.hxx"
+#include "internal/utilities.hxx"
 
 #include "internal/resource.h"
+
 #include <stdio.h>
 #include <utility>
 #include <stdlib.h>
@@ -212,15 +214,15 @@ HRESULT STDMETHODCALLTYPE StreamOnZipBuffer::Read(void *pv, ULONG cb, ULONG *pcb
 
 HRESULT STDMETHODCALLTYPE StreamOnZipBuffer::Seek(LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *)
 {    
-    size_t size = ref_zip_buffer_.size();    
-    size_t p = 0;
+    __int64 size = (__int64) ref_zip_buffer_.size();    
+    __int64 p = 0;
     
     switch (dwOrigin)
     {
         case STREAM_SEEK_SET:                                
             break;                                            
         case STREAM_SEEK_CUR:        
-            p = pos_;            
+            p = (__int64) pos_;            
             break;             
         case STREAM_SEEK_END:        
             p = size - 1;            
@@ -229,10 +231,11 @@ HRESULT STDMETHODCALLTYPE StreamOnZipBuffer::Seek(LARGE_INTEGER dlibMove, DWORD
    
    HRESULT hr = STG_E_INVALIDFUNCTION;
    
-   p += dlibMove.LowPart;
-   if (p < size)
+   p += dlibMove.QuadPart;
+
+   if ( ( p >= 0 ) && (p < size) )
    {
-        pos_ = p;
+        pos_ = (size_t) p;
         hr = S_OK;   
    }
    return hr;        
@@ -295,7 +298,7 @@ HRESULT STDMETHODCALLTYPE StreamOnZipBuffer::Clone(IStream **)
 
 CThumbviewer::CThumbviewer(long RefCnt) : 
     ref_count_(RefCnt)    
-{   
+{
     InterlockedIncrement(&g_DllRefCnt);
      
     thumbnail_size_.cx = 0;
@@ -468,6 +471,7 @@ HRESULT STDMETHODCALLTYPE CThumbviewer::Extract(HBITMAP *phBmpImage)
     }
     catch(std::exception&)
     {
+        OutputDebugStringFormat( "CThumbviewer Extract ERROR!\n" );
         hr = E_FAIL;
     }
     return hr; 
diff --git a/shell/source/win32/shlxthandler/util/utilities.cxx b/shell/source/win32/shlxthandler/util/utilities.cxx
index d76e0c9..eaffd4f 100644
--- a/shell/source/win32/shlxthandler/util/utilities.cxx
+++ b/shell/source/win32/shlxthandler/util/utilities.cxx
@@ -32,12 +32,9 @@
 #include "precompiled_shell.hxx"
 
 
-#include "internal/utilities.hxx"
 #include "internal/config.hxx"
 #include "internal/dbgmacros.hxx"
-
-
-
+#include "internal/utilities.hxx"
 
 //-----------------------------
 // constants
@@ -87,15 +84,9 @@ std::wstring GetResString(int ResId)
 {
     wchar_t szResStr[MAX_RES_STRING];
 
-    #if OSL_DEBUG_LEVEL > 0
-    int rc =
-    #endif
-    LoadStringW(
-        GetModuleHandleW(MODULE_NAME),
-        ResId,
-        szResStr,
-        sizeof(szResStr));
+    int rc = LoadStringW( GetModuleHandleW(MODULE_NAME), ResId, szResStr, sizeof(szResStr) );
 
+    OutputDebugStringFormat( "GetResString: read %d chars\n", rc );
     ENSURE(rc, "String resource not found");
 
     return std::wstring(szResStr);


More information about the ooo-build-commit mailing list