incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r1354497 [5/33] - in /incubator/ooo/branches/alg/aw080: ./ ext_libraries/apr-util/ ext_libraries/apr/ ext_libraries/coinmp/ ext_libraries/serf/ ext_libraries/serf/prj/ ext_libraries/serf/win/ ext_sources/ main/ main/animations/source/animco...
Date Wed, 27 Jun 2012 13:45:34 GMT
Modified: incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx Wed Jun 27 13:44:09 2012
@@ -1975,8 +1975,8 @@ void DffPropertyReader::ApplyCustomShape
 		// "ViewPoint" in 1/100mm
 		if ( IsProperty( DFF_Prop_c3DXViewpoint ) || IsProperty( DFF_Prop_c3DYViewpoint ) || IsProperty( DFF_Prop_c3DZViewpoint ) )
 		{
-			double fViewX = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DXViewpoint, 1249920 )) / 360.0;
-			double fViewY = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DYViewpoint, (sal_uInt32)-1249920 ))/ 360.0;
+			double fViewX = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DXViewpoint, 1250000 )) / 360.0;
+			double fViewY = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DYViewpoint, (sal_uInt32)-1250000 ))/ 360.0;
 			double fViewZ = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DZViewpoint, 9000000 )) / 360.0;
 			::com::sun::star::drawing::Position3D aExtrusionViewPoint( fViewX, fViewY, fViewZ );
 			const rtl::OUString	sExtrusionViewPoint( RTL_CONSTASCII_USTRINGPARAM ( "ViewPoint" ) );
@@ -1988,8 +1988,8 @@ void DffPropertyReader::ApplyCustomShape
 		if ( IsProperty( DFF_Prop_c3DOriginX ) || IsProperty( DFF_Prop_c3DOriginY ) )
 		{
 			const rtl::OUString	sExtrusionOrigin( RTL_CONSTASCII_USTRINGPARAM ( "Origin" ) );
-			double fOriginX = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DOriginX, 0 ));
-			double fOriginY = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DOriginY, 0 ));
+			double fOriginX = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DOriginX, 32768 ));
+			double fOriginY = (double)((sal_Int32)GetPropertyValue( DFF_Prop_c3DOriginY, (sal_uInt32)-32768 ));
 			fOriginX /= 65536;
 			fOriginY /= 65536;
 			EnhancedCustomShapeParameterPair aOriginPair;
@@ -4896,6 +4896,14 @@ SdrObject* SvxMSDffManager::ImportShape(
 		mpTracer->RemoveAttribute( aObjData.nSpFlags & SP_FGROUP
 									? rtl::OUString::createFromAscii( "GroupShape" )
 									: rtl::OUString::createFromAscii( "Shape" ) );
+    //Import alt text as description
+	if ( pRet && SeekToContent( DFF_Prop_wzDescription, rSt ) )
+	{
+		String aAltText;
+		MSDFFReadZString( rSt, aAltText, GetPropertyValue( DFF_Prop_wzDescription ), sal_True );
+		pRet->SetDescription( aAltText );
+	}
+    
 	return pRet;
 }
 
@@ -6527,6 +6535,7 @@ sal_Bool SvxMSDffManager::GetBLIPDirect(
 			break;
 			case 0x46A :			// One byte tag then JPEG (= JFIF) data
 			case 0x6E0 :			// One byte tag then PNG data
+			case 0x6E2 :			// One byte tag then JPEG in CMYK color space
 			case 0x7A8 :
 				nSkip += 1;			// One byte tag then DIB data
 			break;
@@ -6562,6 +6571,7 @@ sal_Bool SvxMSDffManager::GetBLIPDirect(
 			case 0x542 : aFileName.Append( String( RTL_CONSTASCII_STRINGPARAM( ".pct" ) ) ); break;
 			case 0x46a : aFileName.Append( String( RTL_CONSTASCII_STRINGPARAM( ".jpg" ) ) ); break;
 			case 0x6e0 : aFileName.Append( String( RTL_CONSTASCII_STRINGPARAM( ".png" ) ) ); break;
+			case 0x6e2 : aFileName.Append( String( RTL_CONSTASCII_STRINGPARAM( ".jpg" ) ) ); break;
 			case 0x7a8 : aFileName.Append( String( RTL_CONSTASCII_STRINGPARAM( ".bmp" ) ) ); break;
 		}
 
@@ -6761,33 +6771,6 @@ SdrObject* SvxMSDffManager::ImportOLE( l
 	return pRet;
 }
 
-const GDIMetaFile* SvxMSDffManager::lcl_GetMetaFileFromGrf_Impl( const Graphic& rGrf,
-														GDIMetaFile& rMtf )
-{
-	const GDIMetaFile* pMtf;
-	if( GRAPHIC_BITMAP == rGrf.GetType() )
-	{
-		Point aPt;
-        const Size aSz(lcl_GetPrefSize(rGrf, MAP_100TH_MM));
-
-		VirtualDevice aVirtDev;
-		aVirtDev.EnableOutput( sal_False );
-		MapMode aMM(MAP_100TH_MM);
-		aVirtDev.SetMapMode( aMM );
-
-		rMtf.Record( &aVirtDev );
-		rGrf.Draw( &aVirtDev, aPt, aSz );
-		rMtf.Stop();
-		rMtf.SetPrefMapMode(aMM);
-		rMtf.SetPrefSize( aSz );
-
-		pMtf = &rMtf;
-	}
-	else
-		pMtf = &rGrf.GetGDIMetaFile();
-	return pMtf;
-}
-
 sal_Bool SvxMSDffManager::MakeContentStream( SotStorage * pStor, const GDIMetaFile & rMtf )
 {
 	String aPersistStream( String::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( SVEXT_PERSIST_STREAM ) ) );

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx Wed Jun 27 13:44:09 2012
@@ -587,7 +587,8 @@ PptSlidePersistEntry::PptSlidePersistEnt
 
 PptSlidePersistEntry::~PptSlidePersistEntry()
 {
-    delete pStyleSheet;
+	delete pStyleSheet;
+	delete pHeaderFooterEntry;
 	delete pSolverContainer;
 	delete[] pPresentationObjects;
 };
@@ -4692,11 +4693,17 @@ PPTCharPropSet::PPTCharPropSet( sal_uInt
 	mpFieldItem		( NULL ),
 	pCharSet		( new ImplPPTCharPropSet )
 {
+	mnHylinkOrigColor = 0;
+	mbIsHyperlink = sal_False;
+	mbHardHylinkOrigColor = sal_False;
 	mnLanguage[ 0 ] = mnLanguage[ 1 ] = mnLanguage[ 2 ] = 0;
 }
 
 PPTCharPropSet::PPTCharPropSet( PPTCharPropSet& rCharPropSet )
 {
+	mnHylinkOrigColor = rCharPropSet.mnHylinkOrigColor;
+	mbIsHyperlink = rCharPropSet.mbIsHyperlink;
+	mbHardHylinkOrigColor = rCharPropSet.mbHardHylinkOrigColor;
 	pCharSet = rCharPropSet.pCharSet;
 	pCharSet->mnRefCount++;
 
@@ -4714,6 +4721,10 @@ PPTCharPropSet::PPTCharPropSet( PPTCharP
 	pCharSet = rCharPropSet.pCharSet;
 	pCharSet->mnRefCount++;
 
+	mnHylinkOrigColor = rCharPropSet.mnHylinkOrigColor;
+	mbIsHyperlink = rCharPropSet.mbIsHyperlink;
+	mbHardHylinkOrigColor = rCharPropSet.mbHardHylinkOrigColor;
+
 	mnParagraph = nParagraph;
 	mnOriginalTextPos = rCharPropSet.mnOriginalTextPos;
 	maString = rCharPropSet.maString;
@@ -5066,13 +5077,11 @@ sal_Bool PPTTextSpecInfoAtomInterpreter:
 			}
 			if ( nLang )
 			{
-				sal_uInt16 nScriptType = GetI18NScriptTypeOfLanguage( nLang );
-				if ( nScriptType & SCRIPTTYPE_LATIN )
-					pEntry->nLanguage[ 0 ] = nLang;
-				if ( nScriptType & SCRIPTTYPE_ASIAN )
-					pEntry->nLanguage[ 1 ] = nLang;
-				if ( nScriptType & SCRIPTTYPE_COMPLEX )
-					pEntry->nLanguage[ 2 ] = nLang;
+// bug119985 2012.06.14
+				if (i == 2)
+				{
+					pEntry->nLanguage[ 0 ] = pEntry->nLanguage[ 1 ] = pEntry->nLanguage[ 2 ] = nLang;
+				}
 			}
 			nFlags &= ~i;
 		}
@@ -5804,7 +5813,16 @@ void PPTPortionObj::ApplyTo(  SfxItemSet
 	{
 		PptFontEntityAtom* pFontEnityAtom = rManager.GetFontEnityAtom( nVal );
 		if ( pFontEnityAtom )
-            rSet.Put( SvxFontItem( pFontEnityAtom->eFamily, pFontEnityAtom->aName, String(), pFontEnityAtom->ePitch, pFontEnityAtom->eCharSet, EE_CHAR_FONTINFO ) );
+		{
+			rSet.Put( SvxFontItem( pFontEnityAtom->eFamily, pFontEnityAtom->aName, String(), pFontEnityAtom->ePitch, pFontEnityAtom->eCharSet, EE_CHAR_FONTINFO ) );
+
+            // #119475# bullet font info for CJK and CTL
+            if ( RTL_TEXTENCODING_SYMBOL ==  pFontEnityAtom->eCharSet )
+			{
+				rSet.Put( SvxFontItem( pFontEnityAtom->eFamily, pFontEnityAtom->aName, String(), pFontEnityAtom->ePitch, pFontEnityAtom->eCharSet, EE_CHAR_FONTINFO_CJK ) );
+				rSet.Put( SvxFontItem( pFontEnityAtom->eFamily, pFontEnityAtom->aName, String(), pFontEnityAtom->ePitch, pFontEnityAtom->eCharSet, EE_CHAR_FONTINFO_CTL ) );
+			}		
+		}
 	}
 	if ( GetAttrib( PPT_CharAttr_FontHeight, nVal, nDestinationInstance ) )	// Schriftgrad in Point
 	{
@@ -6236,7 +6254,20 @@ sal_Bool PPTParagraphObj::GetAttrib( sal
 					{
 						PPTPortionObj* pPortion = mpPortionList[ 0 ];
 						if ( pPortion )
-							bIsHardAttribute = pPortion->GetAttrib( PPT_CharAttr_FontColor, nRetValue, nDestinationInstance );
+						{
+							if (pPortion->mbIsHyperlink )
+							{
+								if( pPortion->mbHardHylinkOrigColor )
+									nRetValue = pPortion->mnHylinkOrigColor;
+								else
+									nRetValue = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[ pParaSet->mnDepth ].mnFontColor;
+								bIsHardAttribute = sal_True;
+							}
+							else
+							{
+								bIsHardAttribute = pPortion->GetAttrib( PPT_CharAttr_FontColor, nRetValue, nDestinationInstance );
+							}
+						}
 					}
 					else
 					{
@@ -7182,6 +7213,10 @@ PPTTextObj::PPTTextObj( SvStream& rIn, S
 
 															const SvxURLField* pField = (const SvxURLField*)pFE->pField1->GetField();
 
+															pCurrent->mbIsHyperlink=sal_True;
+                                                            pCurrent->mnHylinkOrigColor=pCurrent->pCharSet->mnColor;
+															pCurrent->mbHardHylinkOrigColor= ( ( pCurrent->pCharSet->mnAttrSet >>PPT_CharAttr_FontColor ) & 1)>0;
+
 															if ( pCurrent->mpFieldItem )
 															{
 																pCurrent->SetColor( PPT_COLSCHEME_A_UND_HYPERLINK );
@@ -7655,12 +7690,8 @@ void ApplyCellAttributes( const SdrObjec
 		if ( eFillStyle != XFILL_NONE )
 		{
 			sal_Int16 nFillTransparence( ( (const XFillTransparenceItem&)pObj->GetMergedItem( XATTR_FILLTRANSPARENCE ) ).GetValue() );
-			if ( nFillTransparence != 100 )
-			{
-				nFillTransparence *= 100;
-				static const rtl::OUString sFillTransparence( String( RTL_CONSTASCII_USTRINGPARAM( "FillTransparence" ) ) );
-				xPropSet->setPropertyValue( sFillTransparence, Any( nFillTransparence ) );
-			}
+			static const rtl::OUString sFillTransparence( String( RTL_CONSTASCII_USTRINGPARAM( "FillTransparence" ) ) );
+			xPropSet->setPropertyValue( sFillTransparence, Any( nFillTransparence ) );
 		}
 	}
 	catch( Exception& )
@@ -7682,8 +7713,9 @@ void ApplyCellLineAttributes( const SdrO
 				{
 					Color aLineColor( ((XLineColorItem&)pLine->GetMergedItem( XATTR_LINECOLOR )).GetColorValue() );
 					aBorderLine.Color = aLineColor.GetColor();
-					aBorderLine.OuterLineWidth = static_cast< sal_Int16 >( ((const XLineWidthItem&)(pLine->GetMergedItem(XATTR_LINEWIDTH))).GetValue() / 4 );
-					aBorderLine.InnerLineWidth = static_cast< sal_Int16 >( ((const XLineWidthItem&)(pLine->GetMergedItem(XATTR_LINEWIDTH))).GetValue() / 4 );
+					// Avoid width = 0, the min value should be 1.
+					aBorderLine.OuterLineWidth = std::max( static_cast< sal_Int16 >( 1 ), static_cast< sal_Int16 >( ((const XLineWidthItem&)(pLine->GetMergedItem(XATTR_LINEWIDTH))).GetValue() / 4) );		
+					aBorderLine.InnerLineWidth = std::max( static_cast< sal_Int16 >( 1 ), static_cast< sal_Int16 >( ((const XLineWidthItem&)(pLine->GetMergedItem(XATTR_LINEWIDTH))).GetValue() / 4) );							     
 					aBorderLine.LineDistance = 0;
 				}
 				break;

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgexport.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgexport.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgexport.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgexport.cxx Wed Jun 27 13:44:09 2012
@@ -1252,3 +1252,45 @@ IMPL_LINK( SVGFilter, CalcFieldHdl, Edit
 	
 	return( bFieldProcessed ? 0 : maOldFieldHdl.Call( pInfo ) );
 }
+
+// -----------------------------------------------------------------------------
+
+void SVGExport::writeMtf( const GDIMetaFile& rMtf )
+{
+	const Size									aSize( OutputDevice::LogicToLogic( rMtf.GetPrefSize(), rMtf.GetPrefMapMode(), MAP_MM ) );
+	rtl::OUString							aAttr;
+	REF( NMSP_SAX::XExtendedDocumentHandler )	xExtDocHandler( GetDocHandler(), NMSP_UNO::UNO_QUERY );
+
+	if( xExtDocHandler.is() )
+		xExtDocHandler->unknown( SVG_DTD_STRING );
+
+	aAttr = rtl::OUString::valueOf( aSize.Width() ); 
+	aAttr += B2UCONST( "mm" );
+	AddAttribute( XML_NAMESPACE_NONE, "width", aAttr );
+
+	aAttr = rtl::OUString::valueOf( aSize.Height() ); 
+	aAttr += B2UCONST( "mm" );
+	AddAttribute( XML_NAMESPACE_NONE, "height", aAttr );
+
+	aAttr = B2UCONST( "0 0 " );
+	aAttr += rtl::OUString::valueOf( aSize.Width() * 100L );
+	aAttr += B2UCONST( " " );
+	aAttr += rtl::OUString::valueOf( aSize.Height() * 100L );
+	AddAttribute( XML_NAMESPACE_NONE, "viewBox", aAttr );
+
+	{
+		SvXMLElementExport	aSVG( *this, XML_NAMESPACE_NONE, "svg", sal_True, sal_True );
+
+		std::vector< ObjectRepresentation > aObjects;
+
+		aObjects.push_back( ObjectRepresentation( Reference< XInterface >(), rMtf ) );
+		SVGFontExport aSVGFontExport( *this, aObjects );
+
+		Point aPoint100thmm( OutputDevice::LogicToLogic( rMtf.GetPrefMapMode().GetOrigin(), rMtf.GetPrefMapMode(), MAP_100TH_MM ) );
+		Size  aSize100thmm( OutputDevice::LogicToLogic( rMtf.GetPrefSize(), rMtf.GetPrefMapMode(), MAP_100TH_MM ) );
+
+		SVGActionWriter		aWriter( *this, aSVGFontExport );
+		aWriter.WriteMetaFile( aPoint100thmm, aSize100thmm, rMtf,
+			SVGWRITER_WRITE_FILL | SVGWRITER_WRITE_TEXT, NULL );
+	}
+}

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgfilter.component
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgfilter.component?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgfilter.component (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgfilter.component Wed Jun 27 13:44:09 2012
@@ -27,4 +27,7 @@
   <implementation name="com.sun.star.comp.Draw.SVGFilter">
     <service name="com.sun.star.document.SVGFilter"/>
   </implementation>
+  <implementation name="com.sun.star.comp.Draw.SVGWriter">
+    <service name="com.sun.star.svg.SVGWriter"/>
+  </implementation>
 </component>

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgfilter.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgfilter.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgfilter.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgfilter.hxx Wed Jun 27 13:44:09 2012
@@ -132,7 +132,9 @@ public:						
     void  popClip();
     sal_Bool  hasClip() const;
     const ::basegfx::B2DPolyPolygon* getCurClip() const;
-    
+
+	void writeMtf( const GDIMetaFile& rMtf );
+
 protected:
 
 virtual void			_ExportStyles( sal_Bool /* bUsed */ ) {}

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/svg/svguno.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/svg/svguno.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/svg/svguno.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/svg/svguno.cxx Wed Jun 27 13:44:09 2012
@@ -32,6 +32,7 @@
 
 #include <svgfilter.hxx>
 #include <svgdialog.hxx>
+#include <svgwriter.hxx>
 
 using ::rtl::OUString;
 using namespace ::cppu;
@@ -73,7 +74,13 @@ extern "C"
 					OUString::createFromAscii( pImplName ),
 					SVGDialog_createInstance, SVGDialog_getSupportedServiceNames() ) );
 			}
-		    
+			else if( aImplName.equals( SVGWriter_getImplementationName() ) )
+			{
+				xFactory = Reference< XSingleServiceFactory >( createSingleFactory(
+					reinterpret_cast< XMultiServiceFactory * >( pServiceManager ),
+					OUString::createFromAscii( pImplName ),
+					SVGWriter_createInstance, SVGWriter_getSupportedServiceNames() ) );
+			}
 		    if (xFactory.is())
 		    {
 			    xFactory->acquire();

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgwriter.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgwriter.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgwriter.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgwriter.cxx Wed Jun 27 13:44:09 2012
@@ -896,7 +896,10 @@ void SVGActionWriter::ImplWriteText( con
                     if( bCont )
                     {
                         // #118796# do NOT access pDXArray, it may be zero (!)
-                        nX = aPos.X() + pDX[ nCurPos - 1 ];
+						sal_Int32 nWidth = pDX[ nCurPos - 1 ];
+						if ( bApplyMapping )
+							nWidth = ImplMap( nWidth );
+                        nX = aPos.X() + nWidth;
                     }
                 }
             }
@@ -972,7 +975,13 @@ void SVGActionWriter::ImplWriteBmp( cons
 			{
 				Point							            aPt;
 				Size								        aSz;
-				::rtl::OUString                             aImageData( (sal_Char*) aOStm.GetData(), aOStm.Tell(), RTL_TEXTENCODING_ASCII_US );
+                
+                // #119735# Do not copy the stream data to a ::rtl::OUString any longer, this is not needed and
+                // (of course) throws many exceptions with the used RTL_TEXTENCODING_ASCII_US. Keeping that line
+                // to show what I'm talking about
+                // ::rtl::OUString aImageData( (sal_Char*) aOStm.GetData(), aOStm.Tell(), RTL_TEXTENCODING_ASCII_US );
+                const sal_Char* pImageData = (sal_Char*)aOStm.GetData();
+                const sal_uInt32 nImageDataLength = aOStm.Tell();
 				REF( NMSP_SAX::XExtendedDocumentHandler )	xExtDocHandler( mrExport.GetDocHandler(), NMSP_UNO::UNO_QUERY );
                 
                 if( bApplyMapping )
@@ -1023,13 +1032,15 @@ void SVGActionWriter::ImplWriteBmp( cons
                     
                     xExtDocHandler->unknown( aString );
                     
-                    const sal_uInt32 nQuadCount = aImageData.getLength() / 3;
-                    const sal_uInt32 nRest = aImageData.getLength() % 3;
+                    // #119735#
+                    const sal_uInt32 nQuadCount = nImageDataLength / 3;
+                    const sal_uInt32 nRest = nImageDataLength % 3;
 
                     if( nQuadCount || nRest )
                     {
                         sal_Int32           nBufLen = ( ( nQuadCount + ( nRest ? 1 : 0 ) ) << 2 );
-                        const sal_Unicode*  pSrc = (const sal_Unicode*) aImageData;
+                        const sal_Char* pSrc = pImageData;
+
                         sal_Unicode*        pBuffer = new sal_Unicode[ nBufLen * sizeof( sal_Unicode ) ];
                         sal_Unicode*        pTmpDst = pBuffer;
 
@@ -1856,3 +1867,104 @@ void SVGActionWriter::WriteMetaFile( con
     ImplReleaseContext();
 	mpVDev->Pop();
 }
+
+// -------------
+// - SVGWriter -
+// -------------
+
+SVGWriter::SVGWriter( const REF( NMSP_LANG::XMultiServiceFactory )& rxMgr ) :
+	mxFact( rxMgr )
+{
+}
+
+// -----------------------------------------------------------------------------
+
+SVGWriter::~SVGWriter()
+{
+}
+
+// -----------------------------------------------------------------------------
+
+
+ANY SAL_CALL SVGWriter::queryInterface( const NMSP_UNO::Type & rType ) throw( NMSP_UNO::RuntimeException )
+{
+	const ANY aRet( NMSP_CPPU::queryInterface( rType, static_cast< NMSP_SVG::XSVGWriter* >( this ) ) );
+
+	return( aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ) );
+}
+
+// -----------------------------------------------------------------------------
+
+void SAL_CALL SVGWriter::acquire() throw()
+{
+	OWeakObject::acquire();
+}
+
+// -----------------------------------------------------------------------------
+
+void SAL_CALL SVGWriter::release() throw()
+{
+	OWeakObject::release();
+}
+
+// -----------------------------------------------------------------------------
+
+void SAL_CALL SVGWriter::write( const REF( NMSP_SAX::XDocumentHandler )& rxDocHandler, 
+								const SEQ( sal_Int8 )& rMtfSeq ) throw( NMSP_UNO::RuntimeException )
+{
+	SvMemoryStream	aMemStm( (char*) rMtfSeq.getConstArray(), rMtfSeq.getLength(), STREAM_READ );
+	GDIMetaFile		aMtf;
+
+	aMemStm.SetCompressMode( COMPRESSMODE_FULL );
+	aMemStm >> aMtf;
+
+	const REF( NMSP_SAX::XDocumentHandler ) xDocumentHandler( rxDocHandler );
+	const Sequence< PropertyValue > aFilterData;
+
+	SVGExport* pWriter = new SVGExport( mxFact, xDocumentHandler, aFilterData );
+
+	pWriter->writeMtf( aMtf );
+	delete pWriter;
+}
+
+// -----------------------------------------------------------------------------
+
+#define SVG_WRITER_SERVICE_NAME         "com.sun.star.svg.SVGWriter"
+#define SVG_WRITER_IMPLEMENTATION_NAME  "com.sun.star.comp.Draw.SVGWriter"
+
+rtl::OUString SVGWriter_getImplementationName()
+	throw (RuntimeException)
+{
+	return rtl::OUString ( RTL_CONSTASCII_USTRINGPARAM( SVG_WRITER_IMPLEMENTATION_NAME ) );
+}
+
+// -----------------------------------------------------------------------------
+
+Sequence< sal_Int8 > SAL_CALL SVGWriter_getImplementationId() 
+    throw(RuntimeException)
+{
+    static const ::cppu::OImplementationId aId;
+    
+    return( aId.getImplementationId() );
+}
+
+// -----------------------------------------------------------------------------
+
+Sequence< rtl::OUString > SAL_CALL SVGWriter_getSupportedServiceNames() 
+    throw (RuntimeException)
+{
+	Sequence< rtl::OUString > aRet( 1 );
+    
+	aRet.getArray()[ 0 ] = rtl::OUString ( RTL_CONSTASCII_USTRINGPARAM ( SVG_WRITER_SERVICE_NAME ) );
+    
+    return aRet;
+}
+
+// -----------------------------------------------------------------------------
+
+Reference< XInterface > SAL_CALL SVGWriter_createInstance( const Reference< XMultiServiceFactory > & rSMgr )
+    throw( Exception )
+{
+    return( static_cast< cppu::OWeakObject* >( new SVGWriter( rSMgr ) ) );
+}
+

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgwriter.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgwriter.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgwriter.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/svg/svgwriter.hxx Wed Jun 27 13:44:09 2012
@@ -65,6 +65,7 @@
 #include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
 #include <com/sun/star/i18n/CharacterIteratorMode.hpp>
 #include <com/sun/star/i18n/XBreakIterator.hpp>
+#include <com/sun/star/svg/XSVGWriter.hpp>
 
 // -----------------------------------------------------------------------------
 
@@ -108,7 +109,7 @@ private:
 	Font					maCurFont;
 	Color					maCurLineColor;
 	Color					maCurFillColor;
-	SVGExport&			    mrExport;
+	SVGExport&				mrExport;
     SVGFontExport&          mrFontExport;
 	SvXMLElementExport*		mpElemFont;
 	SvXMLElementExport*		mpElemPaint;
@@ -166,7 +167,7 @@ struct SVGShapeDescriptor
 // -------------------
 
 class SVGAttributeWriter;
-class SvXMLExport;
+class SVGExport;
 class GDIMetaFile;
 
 class SVGActionWriter
@@ -175,7 +176,7 @@ private:
 
 	Stack					                maContextStack;
     ::std::auto_ptr< SVGShapeDescriptor >   mapCurShape;
-	SVGExport&			                    mrExport;
+	SVGExport&								mrExport;
     SVGFontExport&                          mrFontExport;
 	SVGAttributeWriter*                     mpContext;
 	VirtualDevice*			                mpVDev;
@@ -233,4 +234,47 @@ public:
                                            const ::rtl::OUString* pElementId = NULL );
 };
 
+class SVGWriter : public NMSP_CPPU::OWeakObject, NMSP_SVG::XSVGWriter
+{	
+private:
+
+	REF( NMSP_LANG::XMultiServiceFactory )	mxFact;
+											
+											SVGWriter();
+											
+public:										
+											
+											SVGWriter( const REF( NMSP_LANG::XMultiServiceFactory )& rxMgr );
+	virtual 								~SVGWriter();
+											
+	// XInterface							
+	virtual NMSP_UNO::Any SAL_CALL			queryInterface( const NMSP_UNO::Type & rType ) throw( NMSP_UNO::RuntimeException );
+    virtual void SAL_CALL					acquire() throw();
+    virtual void SAL_CALL					release() throw();
+											
+	// XSVGWriter							
+	virtual void SAL_CALL					write( const REF( NMSP_SAX::XDocumentHandler )& rxDocHandler,
+												   const SEQ( sal_Int8 )& rMtfSeq ) throw( NMSP_UNO::RuntimeException );
+};
+
+::rtl::OUString SVGWriter_getImplementationName ()
+	throw ( ::com::sun::star::uno::RuntimeException );
+
+// -----------------------------------------------------------------------------
+
+sal_Bool SAL_CALL SVGWriter_supportsService( const ::rtl::OUString& ServiceName ) 
+	throw ( ::com::sun::star::uno::RuntimeException );
+
+// -----------------------------------------------------------------------------
+
+::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SVGWriter_getSupportedServiceNames(  ) 
+	throw ( ::com::sun::star::uno::RuntimeException );
+
+// -----------------------------------------------------------------------------
+
+::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
+	SAL_CALL SVGWriter_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr)
+		throw ( ::com::sun::star::uno::Exception );
+
+
 #endif

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/xslt/export/wordml/ooo2wordml_draw.xsl
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/xslt/export/wordml/ooo2wordml_draw.xsl?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/xslt/export/wordml/ooo2wordml_draw.xsl (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/xslt/export/wordml/ooo2wordml_draw.xsl Wed Jun 27 13:44:09 2012
@@ -21,7 +21,7 @@
  ***********************************************************-->
 
 
-<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns
 :number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xalan="http://xml.apache.org/xalan" xmlns:oleextracter="MyOleExtracter" xmlns:ole="java:XSLTFilterOLEExtracter" xmlns:java="http://saxon.sf.net/java-type" exclude-result-prefixes="office table style text draw svg dc config xlink meta oooc dom ooo chart math dr3d form script ooow draw xalan ole oleextracter ja
 va" extension-element-prefixes="oleextracter">
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns
 :number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xalan="http://xml.apache.org/xalan" xmlns:oleextracter="MyOleExtracter" xmlns:ole="java:com.sun.star.comp.xsltfilter.XSLTFilterOLEExtracter" xmlns:java="http://saxon.sf.net/java-type" exclude-result-prefixes="office table style text draw svg dc config xlink meta oooc dom ooo chart math dr3d form script ooow d
 raw xalan ole oleextracter java" extension-element-prefixes="oleextracter">
 	<xsl:include href="ooo2wordml_custom_draw.xsl"/>
 	<xsl:param name="oleExtractor" as="java:com.sun.star.comp.xsltfilter.XSLTFilterOLEExtracter" select="ole:new()"/>
 	<xsl:param name="XMultiServiceFactory" as="java:com.sun.star.lang.XMultiServiceFactory" select="ole:init($oleExtractor,  'uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager')"/>

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/xslt/import/wordml/wordml2ooo_draw.xsl
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/xslt/import/wordml/wordml2ooo_draw.xsl?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/xslt/import/wordml/wordml2ooo_draw.xsl (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/xslt/import/wordml/wordml2ooo_draw.xsl Wed Jun 27 13:44:09 2012
@@ -21,7 +21,7 @@
  ***********************************************************-->
 
 
-<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:dat
 astyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xalan="http://xml.apache.org/xalan" xmlns:oleextracter="MyOleExtracter" xmlns:ole="java:XSLTFilterOLEExtracter" xmlns:java="http://saxon.sf.net/java-type" exclude-result-prefixes="w wx aml o dt v xalan ole oleextracter java" extension-element-prefixes="oleextracter">
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:dat
 astyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xalan="http://xml.apache.org/xalan" xmlns:oleextracter="MyOleExtracter" xmlns:ole="java:com.sun.star.comp.xsltfilter.XSLTFilterOLEExtracter" xmlns:java="http://saxon.sf.net/java-type" exclude-result-prefixes="w wx aml o dt v xalan ole oleextracter java" extension-element-prefixes="oleextracter">
     <xsl:include href="wordml2ooo_custom_draw.xsl"/>
     <xsl:include href="wordml2ooo_path.xsl"/>
     <xsl:param name="oleExtractor" as="java:com.sun.star.comp.xsltfilter.XSLTFilterOLEExtracter" select="ole:new()"/>

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/classes/converter.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/classes/converter.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/classes/converter.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/classes/converter.hxx Wed Jun 27 13:44:09 2012
@@ -74,8 +74,8 @@ class FWI_DLLPUBLIC Converter
         static OUStringList                                    convert_seqOUString2OUStringList( const css::uno::Sequence< ::rtl::OUString >&           lSource );
         static css::uno::Sequence< ::rtl::OUString >           convert_OUStringList2seqOUString( const OUStringList&                                    lSource );
 
-        static css::uno::Sequence< css::beans::PropertyValue > convert_OUStringHash2seqProp    ( const OUStringHash&                                    lSource );
-        static OUStringHash                                    convert_seqProp2OUStringHash    ( const css::uno::Sequence< css::beans::PropertyValue >& lSource );
+        static css::uno::Sequence< css::beans::PropertyValue > convert_OUStringHash2seqProp    ( const OUStringHashMap&                                    lSource );
+        static OUStringHashMap                                 convert_seqProp2OUStringHash    ( const css::uno::Sequence< css::beans::PropertyValue >& lSource );
 
         // String <=> tools.DateTime
         static DateTime                                        convert_String2DateTime         ( const ::rtl::OUString&                                 sSource );

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/classes/filtercachedata.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/classes/filtercachedata.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/classes/filtercachedata.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/classes/filtercachedata.hxx Wed Jun 27 13:44:09 2012
@@ -241,7 +241,7 @@ struct FileType
 
 		sal_Bool			bPreferred			;
 		::rtl::OUString		sName				;
-        OUStringHash        lUINames            ;
+        OUStringHashMap     lUINames            ;
 		::rtl::OUString		sMediaType			;
 		::rtl::OUString		sClipboardFormat	;
 		sal_Int32			nDocumentIconID		;
@@ -312,7 +312,7 @@ struct Filter
         sal_Int32           nOrder              ;
         ::rtl::OUString     sName               ;
 		::rtl::OUString		sType				;
-        OUStringHash        lUINames            ;
+        OUStringHashMap     lUINames            ;
 		::rtl::OUString		sDocumentService	;
 		::rtl::OUString		sFilterService		;
         ::rtl::OUString     sUIComponent        ;
@@ -411,7 +411,7 @@ struct Loader
 	public:
 
 		::rtl::OUString	sName		;
-        OUStringHash    lUINames    ;
+        OUStringHashMap lUINames    ;
         OUStringList    lTypes      ;
 };
 
@@ -467,7 +467,7 @@ struct ContentHandler
 template< class HashType >
 class SetNodeHash : public ::std::hash_map< ::rtl::OUString                    ,
                                             HashType                           ,
-                                            OUStringHashCode                   ,
+                                            rtl::OUStringHash                  ,
                                             ::std::equal_to< ::rtl::OUString > >
 {
     //-------------------------------------------------------------------------------------------------------------
@@ -508,7 +508,7 @@ class SetNodeHash : public ::std::hash_m
 //*****************************************************************************************************************
 class PerformanceHash   :   public  ::std::hash_map<    ::rtl::OUString                     ,
                                                         OUStringList                        ,
-                                                        OUStringHashCode                    ,
+                                                        rtl::OUStringHash                    ,
 														::std::equal_to< ::rtl::OUString >	>
 {
 	public:
@@ -563,7 +563,7 @@ typedef SetNodeHash< Filter >           
 typedef SetNodeHash< Detector >                                     DetectorHash                ;
 typedef SetNodeHash< Loader >                                       LoaderHash                  ;
 typedef SetNodeHash< ContentHandler >                               ContentHandlerHash          ;
-typedef OUStringHash                                                PreferredHash               ;
+typedef OUStringHashMap                                             PreferredHash               ;
 typedef OUStringList                                                OrderList                   ;
 
 typedef CheckedIterator< OUStringList >                             CheckedStringListIterator   ;
@@ -673,14 +673,14 @@ class DataContainer : private ThreadHelp
                                                                              const ::rtl::OUString&                                    sCurrentLocale  );
         static void             extractLocalizedStrings                    ( const ::rtl::OUString&                                    sCurrentLocale  ,
                                                                              const css::uno::Any&                                      aCFGValue       ,
-                                                                                   OUStringHash&                                       lLocales        );
+                                                                                   OUStringHashMap&                                       lLocales        );
         static void             packLocalizedStrings                       (       sal_Int16                                           nMode           ,
                                                                              const ::rtl::OUString&                                    sCurrentLocale  ,
                                                                                    css::uno::Any&                                      aCFGValue       ,
-                                                                             const OUStringHash&                                       lLocales        );
-        static ::rtl::OUString  getLocalelizedString                       ( const OUStringHash&                                       lLocales        ,
+                                                                             const OUStringHashMap&                                       lLocales        );
+        static ::rtl::OUString  getLocalelizedString                       ( const OUStringHashMap&                                       lLocales        ,
                                                                              const ::rtl::OUString&                                    sLocale         );
-        static void             setLocalelizedString                       (       OUStringHash&                                       lLocales        ,
+        static void             setLocalelizedString                       (       OUStringHashMap&                                       lLocales        ,
                                                                              const ::rtl::OUString&                                    sLocale         ,
                                                                              const ::rtl::OUString&                                    sValue          );
         static void             correctExtensions                          (       OUStringList&                                       lExtensions     );
@@ -745,8 +745,8 @@ class FilterCFGAccess : public ::utl::Co
         static   ::rtl::OUString    encodeStringList( const OUStringList&    lList                                  ); // build own formated string of OUStringList
         static   OUStringList       decodeStringList( const ::rtl::OUString& sValue                                 );
 
-        void             setProductName                             (       OUStringHash&                                       lUINames        );
-        void             resetProductName                           (       OUStringHash&                                       lUINames        );
+        void             setProductName                             (       OUStringHashMap&                                       lUINames        );
+        void             resetProductName                           (       OUStringHashMap&                                       lUINames        );
 
     //-------------------------------------------------------------------------------------------------------------
     //  internal helper

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/classes/resource.hrc
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/classes/resource.hrc?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/classes/resource.hrc (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/classes/resource.hrc Wed Jun 27 13:44:09 2012
@@ -52,6 +52,8 @@
 #define STR_SET_LANGUAGE_FOR_ALL_TEXT           (RID_STR_START+20)
 #define STR_UNTITLED_DOCUMENT                   (RID_STR_START+21)
 #define STR_RESET_TO_DEFAULT_LANGUAGE           (RID_STR_START+22)
+#define STR_CLEAR_RECENT_FILES                  (RID_STR_START+23)
+#define STR_CLEAR_RECENT_FILES_HELP             (RID_STR_START+24)
 
 #define POPUPMENU_TOOLBAR_QUICKCUSTOMIZATION    (RID_MENU_START+0)
 

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/dispatch/menudispatcher.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/dispatch/menudispatcher.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/dispatch/menudispatcher.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/dispatch/menudispatcher.hxx Wed Jun 27 13:44:09 2012
@@ -82,7 +82,7 @@ namespace framework{
 *//*-*************************************************************************************************************/
 
 typedef ::cppu::OMultiTypeInterfaceContainerHelperVar<	::rtl::OUString			,
-														OUStringHashCode		,
+														rtl::OUStringHash,
 														std::equal_to< ::rtl::OUString > > IMPL_ListenerHashContainer;
 
 

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/dispatch/popupmenudispatcher.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/dispatch/popupmenudispatcher.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/dispatch/popupmenudispatcher.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/dispatch/popupmenudispatcher.hxx Wed Jun 27 13:44:09 2012
@@ -94,7 +94,7 @@ namespace framework{
 *//*-*************************************************************************************************************/
 
 typedef ::cppu::OMultiTypeInterfaceContainerHelperVar<	::rtl::OUString			,
-														OUStringHashCode		,
+														rtl::OUStringHash,
 														std::equal_to< ::rtl::OUString > > IMPL_ListenerHashContainer;
 
 

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/services/frame.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/services/frame.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/services/frame.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/services/frame.hxx Wed Jun 27 13:44:09 2012
@@ -434,6 +434,7 @@ class Frame	:	// interfaces
         css::uno::Reference< ::com::sun::star::frame::XLayoutManager >    m_xLayoutManager                    ;   /// is used to layout the child windows of the frame.
         css::uno::Reference< css::frame::XDispatchInformationProvider >         m_xDispatchInfoHelper               ;
         css::uno::Reference< css::frame::XTitle >                               m_xTitleHelper                      ;
+	     void*                                                                   mp_WindowCommandDispatch            ;   /// holds the window command dispatch
 
     protected:
 

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/services/substitutepathvars.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/services/substitutepathvars.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/services/substitutepathvars.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/services/substitutepathvars.hxx Wed Jun 27 13:44:09 2012
@@ -108,7 +108,7 @@ struct SubstitutePathNotify
 
 class SubstituteVariables : public ::std::hash_map< ::rtl::OUString,
                                                     SubstituteRule,
-                                                    OUStringHashCode,
+                                                    rtl::OUStringHash,
                                                     ::std::equal_to< ::rtl::OUString > >
 {
     public:
@@ -276,7 +276,7 @@ class SubstitutePathVariables : private 
         private:
             class VarNameToIndexMap : public std::hash_map< ::rtl::OUString,
                                                             PreDefVariable,
-                                                            OUStringHashCode,
+                                                            rtl::OUStringHash,
                                                             ::std::equal_to< ::rtl::OUString > >
             {
                 inline void free()

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/stdtypes.h
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/stdtypes.h?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/stdtypes.h (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/stdtypes.h Wed Jun 27 13:44:09 2012
@@ -58,16 +58,6 @@ namespace framework{
 //  definitions
 //_________________________________________________________________________________________________________________
 
-/**
-    Own hash functions used for stl-structures ... e.g. hash tables/maps ...
-*/
-struct OUStringHashCode
-{
-    size_t operator()( const ::rtl::OUString& sString ) const
-	{
-		return sString.hashCode();
-	}
-};
 
 struct ShortHashCode
 {
@@ -164,7 +154,7 @@ typedef ::std::queue< ::rtl::OUString > 
 template< class TType >
 class BaseHash : public ::std::hash_map< ::rtl::OUString                    ,
                                          TType                              ,
-                                         OUStringHashCode                   ,
+                                         rtl::OUStringHash                  ,
                                          ::std::equal_to< ::rtl::OUString > >
 {
 	public:
@@ -182,7 +172,7 @@ class BaseHash : public ::std::hash_map<
     Basic OUString hash.
     Key and values are OUStrings.
 */
-typedef BaseHash< ::rtl::OUString > OUStringHash;
+typedef BaseHash< ::rtl::OUString > OUStringHashMap;
 
 //_________________________________________________________________________________________________________________
 
@@ -201,7 +191,7 @@ typedef BaseHash< sal_Int32 > NameToHand
     So it's better to declare it one times only!
 */
 typedef ::cppu::OMultiTypeInterfaceContainerHelperVar<  ::rtl::OUString                    ,
-                                                        OUStringHashCode                   ,
+                                                        rtl::OUStringHash,
                                                         ::std::equal_to< ::rtl::OUString > >    ListenerHash;
 
 }       // namespace framework

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/imagetype.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/imagetype.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/imagetype.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/imagetype.hxx Wed Jun 27 13:44:09 2012
@@ -41,11 +41,11 @@ enum ImageType
 
 typedef std::hash_map< rtl::OUString, 
                        rtl::OUString, 
-                       OUStringHashCode,
+                       rtl::OUStringHash,
                        ::std::equal_to< ::rtl::OUString > > CommandToImageNameMap;
 typedef std::hash_map< rtl::OUString,
                        bool,
-                       OUStringHashCode,
+                       rtl::OUStringHash,
                        ::std::equal_to< ::rtl::OUString > > CommandMap;
 
 }

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/moduleuicfgsupplier.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/moduleuicfgsupplier.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/moduleuicfgsupplier.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/moduleuicfgsupplier.hxx Wed Jun 27 13:44:09 2012
@@ -93,7 +93,7 @@ namespace framework
                 throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
 
         private:
-            typedef ::std::hash_map< rtl::OUString, com::sun::star::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager >, OUStringHashCode, ::std::equal_to< rtl::OUString > > ModuleToModuleCfgMgr;
+            typedef ::std::hash_map< rtl::OUString, com::sun::star::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager >, rtl::OUStringHash, ::std::equal_to< rtl::OUString > > ModuleToModuleCfgMgr;
 
 //TODO_AS            void impl_initStorages();
 

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/moduleuiconfigurationmanager.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/moduleuiconfigurationmanager.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/moduleuiconfigurationmanager.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/moduleuiconfigurationmanager.hxx Wed Jun 27 13:44:09 2012
@@ -164,7 +164,7 @@ namespace framework
 
 		    struct UIElementType;
             friend struct UIElementType;
-		    typedef ::std::hash_map< rtl::OUString, UIElementData, OUStringHashCode, ::std::equal_to< rtl::OUString > > UIElementDataHashMap;
+		    typedef ::std::hash_map< rtl::OUString, UIElementData, rtl::OUStringHash, ::std::equal_to< rtl::OUString > > UIElementDataHashMap;
             
             struct UIElementType
             {
@@ -184,7 +184,7 @@ namespace framework
 
             typedef ::std::vector< UIElementType > UIElementTypesVector;
             typedef ::std::vector< ::com::sun::star::ui::ConfigurationEvent > ConfigEventNotifyContainer;
-            typedef ::std::hash_map< rtl::OUString, UIElementInfo, OUStringHashCode, ::std::equal_to< rtl::OUString > > UIElementInfoHashMap;
+            typedef ::std::hash_map< rtl::OUString, UIElementInfo, rtl::OUStringHash, ::std::equal_to< rtl::OUString > > UIElementInfoHashMap;
 
             // private methods
             void            impl_Initialize();

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/uiconfigurationmanager.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/uiconfigurationmanager.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/uiconfigurationmanager.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/uiconfigurationmanager.hxx Wed Jun 27 13:44:09 2012
@@ -152,7 +152,7 @@ namespace framework
 
 		    struct UIElementType;
             friend struct UIElementType;
-		    typedef ::std::hash_map< rtl::OUString, UIElementData, OUStringHashCode, ::std::equal_to< rtl::OUString > > UIElementDataHashMap;
+		    typedef ::std::hash_map< rtl::OUString, UIElementData, rtl::OUStringHash, ::std::equal_to< rtl::OUString > > UIElementDataHashMap;
             
             struct UIElementType
             {
@@ -172,7 +172,7 @@ namespace framework
 
             typedef ::std::vector< UIElementType > UIElementTypesVector;
             typedef ::std::vector< ::com::sun::star::ui::ConfigurationEvent > ConfigEventNotifyContainer;
-            typedef ::std::hash_map< rtl::OUString, UIElementInfo, OUStringHashCode, ::std::equal_to< rtl::OUString > > UIElementInfoHashMap;
+            typedef ::std::hash_map< rtl::OUString, UIElementInfo, rtl::OUStringHash, ::std::equal_to< rtl::OUString > > UIElementInfoHashMap;
 
             // private methods
             void            impl_Initialize();

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/windowstateconfiguration.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/windowstateconfiguration.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/windowstateconfiguration.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uiconfiguration/windowstateconfiguration.hxx Wed Jun 27 13:44:09 2012
@@ -106,12 +106,12 @@ class WindowStateConfiguration :  privat
 
         typedef ::std::hash_map< ::rtl::OUString,
                                  ::rtl::OUString,
-                                 OUStringHashCode,
+                                 rtl::OUStringHash,
                                  ::std::equal_to< ::rtl::OUString > > ModuleToWindowStateFileMap;
         
         typedef ::std::hash_map< ::rtl::OUString,
                                  ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >,
-                                 OUStringHashCode,
+                                 rtl::OUStringHash,
 								 ::std::equal_to< ::rtl::OUString > > ModuleToWindowStateConfigHashMap;
 
     private:

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/controlmenucontroller.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/controlmenucontroller.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/controlmenucontroller.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/controlmenucontroller.hxx Wed Jun 27 13:44:09 2012
@@ -88,7 +88,7 @@ namespace framework
         
             class UrlToDispatchMap : public ::std::hash_map< ::rtl::OUString,
 													         com::sun::star::uno::Reference< com::sun::star::frame::XDispatch >,
-                                                             OUStringHashCode,
+                                                             rtl::OUStringHash,
 													         ::std::equal_to< ::rtl::OUString > >
             {
 	            public:

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/menubarmanager.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/menubarmanager.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/menubarmanager.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/menubarmanager.hxx Wed Jun 27 13:44:09 2012
@@ -78,7 +78,7 @@ struct PopupControllerEntry
     ::com::sun::star::uno::WeakReference< ::com::sun::star::frame::XDispatchProvider > m_xDispatchProvider;
 };
 
-typedef std::hash_map< rtl::OUString, PopupControllerEntry, OUStringHashCode, ::std::equal_to< rtl::OUString > > PopupControllerCache;
+typedef std::hash_map< rtl::OUString, PopupControllerEntry, rtl::OUStringHash, ::std::equal_to< rtl::OUString > > PopupControllerCache;
 
 class BmkMenu;
 class AddonMenu;

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/recentfilesmenucontroller.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/recentfilesmenucontroller.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/recentfilesmenucontroller.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/recentfilesmenucontroller.hxx Wed Jun 27 13:44:09 2012
@@ -24,34 +24,8 @@
 #ifndef __FRAMEWORK_UIELEMENT_RECENTFILESMENUCONTROLLER_HXX_
 #define __FRAMEWORK_UIELEMENT_RECENTFILESMENUCONTROLLER_HXX_
 
-//_________________________________________________________________________________________________________________
-//	my own includes
-//_________________________________________________________________________________________________________________
-
-#include <macros/xserviceinfo.hxx>
-#include <stdtypes.h>
-
-//_________________________________________________________________________________________________________________
-//	interface includes
-//_________________________________________________________________________________________________________________
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XTypeProvider.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDispatchProvider.hpp>
-#include <com/sun/star/frame/XDispatch.hpp>
-#include <com/sun/star/frame/XStatusListener.hpp>
-#include <com/sun/star/frame/XPopupMenuController.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-
-//_________________________________________________________________________________________________________________
-//	includes of other projects
-//_________________________________________________________________________________________________________________
 #include <svtools/popupmenucontrollerbase.hxx>
-#include <toolkit/awt/vclxmenu.hxx>
-#include <cppuhelper/weak.hxx>
-#include <rtl/ustring.hxx>
+#include <macros/xserviceinfo.hxx>
 
 namespace framework
 {
@@ -69,13 +43,10 @@ namespace framework
 		public:
 		    RecentFilesMenuController( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
 		    virtual ~RecentFilesMenuController();
-		    
+
             // XServiceInfo
 		    DECLARE_XSERVICEINFO
 
-            // XPopupMenuController
-            virtual void SAL_CALL updatePopupMenu() throw (::com::sun::star::uno::RuntimeException);
-		    
 		    // XStatusListener
 		    virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException );
 
@@ -88,14 +59,12 @@ namespace framework
 
             // XDispatch
 		    virtual void SAL_CALL dispatch(	const ::com::sun::star::util::URL& aURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& seqProperties ) throw( ::com::sun::star::uno::RuntimeException );
-		    virtual void SAL_CALL addStatusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener >& xControl, const ::com::sun::star::util::URL& aURL ) throw( ::com::sun::star::uno::RuntimeException );
-    	    virtual void SAL_CALL removeStatusListener(	const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener >& xControl, const ::com::sun::star::util::URL& aURL ) throw( ::com::sun::star::uno::RuntimeException );
-		    
+
             // XEventListener
 		    virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException );
 
             DECL_STATIC_LINK( RecentFilesMenuController, ExecuteHdl_Impl, LoadRecentFile* ); 
-    
+
         private:
             virtual void impl_setPopupMenu();
             struct RecentFile

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/uicommanddescription.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/uicommanddescription.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/uicommanddescription.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uielement/uicommanddescription.hxx Wed Jun 27 13:44:09 2012
@@ -87,12 +87,12 @@ private:
 public:
         typedef ::std::hash_map< ::rtl::OUString,
                                  ::rtl::OUString,
-                                 OUStringHashCode,
+                                 rtl::OUStringHash,
                                  ::std::equal_to< ::rtl::OUString > > ModuleToCommandFileMap;
-        
+
         typedef ::std::hash_map< ::rtl::OUString,
                                  ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >,
-                                 OUStringHashCode,
+                                 rtl::OUStringHash,
 								 ::std::equal_to< ::rtl::OUString > > UICommandsHashMap;
 
     protected:

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uifactory/factoryconfiguration.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uifactory/factoryconfiguration.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uifactory/factoryconfiguration.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uifactory/factoryconfiguration.hxx Wed Jun 27 13:44:09 2012
@@ -92,7 +92,7 @@ private:
     };
     class MenuControllerMap : public std::hash_map< rtl::OUString,
                                                          ControllerInfo,
-                                                         OUStringHashCode,
+                                                         rtl::OUStringHash,
                                                          ::std::equal_to< ::rtl::OUString > >
     {
         inline void free()

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/uifactory/uielementfactorymanager.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/uifactory/uielementfactorymanager.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/uifactory/uielementfactorymanager.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/uifactory/uielementfactorymanager.hxx Wed Jun 27 13:44:09 2012
@@ -88,7 +88,7 @@ namespace framework
     private:
         class FactoryManagerMap : public std::hash_map< rtl::OUString,
                                                      rtl::OUString,
-                                                     OUStringHashCode,
+                                                     rtl::OUStringHash,
                                                      ::std::equal_to< ::rtl::OUString > >
         {
             inline void free()

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/xml/eventsdocumenthandler.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/xml/eventsdocumenthandler.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/xml/eventsdocumenthandler.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/xml/eventsdocumenthandler.hxx Wed Jun 27 13:44:09 2012
@@ -128,7 +128,7 @@ class FWE_DLLPUBLIC OReadEventsDocumentH
 
 		class EventsHashMap : public ::std::hash_map<	::rtl::OUString					,
 														Events_XML_Entry				,
-														OUStringHashCode				,
+														rtl::OUStringHash,
 														::std::equal_to< ::rtl::OUString >	>
 		{
 			public:

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/xml/imagesdocumenthandler.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/xml/imagesdocumenthandler.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/xml/imagesdocumenthandler.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/xml/imagesdocumenthandler.hxx Wed Jun 27 13:44:09 2012
@@ -127,7 +127,7 @@ class OReadImagesDocumentHandler : priva
 
 		class ImageHashMap : public ::std::hash_map< ::rtl::OUString		,
 													 Image_XML_Entry		,
-													 OUStringHashCode		,
+													 rtl::OUStringHash,
 													 ::std::equal_to< ::rtl::OUString >	>
 		{
 			public:

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/xml/statusbardocumenthandler.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/xml/statusbardocumenthandler.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/xml/statusbardocumenthandler.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/xml/statusbardocumenthandler.hxx Wed Jun 27 13:44:09 2012
@@ -127,7 +127,7 @@ class FWE_DLLPUBLIC OReadStatusBarDocume
 
 		class StatusBarHashMap : public ::std::hash_map< ::rtl::OUString				,
 														 StatusBar_XML_Entry			,
-														 OUStringHashCode				,
+														 rtl::OUStringHash,
 														 ::std::equal_to< ::rtl::OUString >	>
 		{
 			public:

Modified: incubator/ooo/branches/alg/aw080/main/framework/inc/xml/toolboxdocumenthandler.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/inc/xml/toolboxdocumenthandler.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/inc/xml/toolboxdocumenthandler.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/inc/xml/toolboxdocumenthandler.hxx Wed Jun 27 13:44:09 2012
@@ -127,7 +127,7 @@ class FWE_DLLPUBLIC OReadToolBoxDocument
 
         class ToolBoxHashMap : public ::std::hash_map<  ::rtl::OUString                 ,
                                                         ToolBox_XML_Entry               ,
-                                                        OUStringHashCode                ,
+                                                        rtl::OUStringHash,
                                                         ::std::equal_to< ::rtl::OUString >  >
         {
             public:

Modified: incubator/ooo/branches/alg/aw080/main/framework/prj/makefile.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/prj/makefile.mk?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/prj/makefile.mk (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/prj/makefile.mk Wed Jun 27 13:44:09 2012
@@ -32,5 +32,13 @@ VERBOSEFLAG :=
 VERBOSEFLAG := -s
 .ENDIF
 
+.IF "$(DEBUG)"!=""
+DEBUG_ARGUMENT=DEBUG=$(DEBUG)
+.ELIF "$(debug)"!=""
+DEBUG_ARGUMENT=debug=$(debug)
+.ELSE
+DEBUG_ARGUMENT=
+.ENDIF
+
 all:
-	cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog
+	cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET) $(DEBUG_ARGUMENT) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/acceleratorconfiguration.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/acceleratorconfiguration.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/acceleratorconfiguration.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/acceleratorconfiguration.cxx Wed Jun 27 13:44:09 2012
@@ -676,21 +676,23 @@ AcceleratorCache& XMLBasedAcceleratorCon
 
 //-----------------------------------------------    
 //	XInterface, XTypeProvider
-DEFINE_XINTERFACE_7(XCUBasedAcceleratorConfiguration                       ,
+DEFINE_XINTERFACE_8(XCUBasedAcceleratorConfiguration                       ,
 					OWeakObject                                            ,
 					DIRECT_INTERFACE(css::lang::XTypeProvider             ),
 					DIRECT_INTERFACE(css::ui::XAcceleratorConfiguration  ),
 					DIRECT_INTERFACE(css::util::XChangesListener          ),
 					DIRECT_INTERFACE(css::form::XReset                    ),
+					DIRECT_INTERFACE(css::lang::XComponent                ),
 					DIRECT_INTERFACE(css::ui::XUIConfigurationPersistence),
 					DIRECT_INTERFACE(css::ui::XUIConfigurationStorage    ),
 					DIRECT_INTERFACE(css::ui::XUIConfiguration           ))
 
-					DEFINE_XTYPEPROVIDER_7(XCUBasedAcceleratorConfiguration ,
+					DEFINE_XTYPEPROVIDER_8(XCUBasedAcceleratorConfiguration ,
 					css::lang::XTypeProvider             ,					   
 					css::ui::XAcceleratorConfiguration  ,
 					css::util::XChangesListener          ,
 					css::form::XReset                    ,
+					css::lang::XComponent                ,
 					css::ui::XUIConfigurationPersistence,
 					css::ui::XUIConfigurationStorage    ,
 					css::ui::XUIConfiguration           )
@@ -1292,6 +1294,27 @@ void SAL_CALL XCUBasedAcceleratorConfigu
 }
 
 //----------------------------------------------- 
+void SAL_CALL XCUBasedAcceleratorConfiguration::dispose()
+	throw(css::uno::RuntimeException)
+{
+    // nop
+}
+
+//----------------------------------------------- 
+void SAL_CALL XCUBasedAcceleratorConfiguration::addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener )
+	throw(css::uno::RuntimeException)
+{
+    // nop
+}
+
+//----------------------------------------------- 
+void SAL_CALL XCUBasedAcceleratorConfiguration::removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener )
+	throw(css::uno::RuntimeException)
+{
+    // nop
+}
+
+//----------------------------------------------- 
 void XCUBasedAcceleratorConfiguration::impl_ts_load( sal_Bool bPreferred, const css::uno::Reference< css::container::XNameAccess >& xCfg )
 {
     AcceleratorCache aReadCache = AcceleratorCache();

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/globalacceleratorconfiguration.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/globalacceleratorconfiguration.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/globalacceleratorconfiguration.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/globalacceleratorconfiguration.cxx Wed Jun 27 13:44:09 2012
@@ -120,4 +120,23 @@ void GlobalAcceleratorConfiguration::imp
         {}
 }
 
+//----------------------------------------------- 
+//
+// XComponent.dispose(),  #120029#, to release the cyclic reference
+//
+void SAL_CALL GlobalAcceleratorConfiguration::dispose()
+	throw(css::uno::RuntimeException)
+{
+    try
+    {
+        css::uno::Reference< css::util::XChangesNotifier > xBroadcaster(m_xCfg, css::uno::UNO_QUERY_THROW);
+        if ( xBroadcaster.is() )
+            xBroadcaster->removeChangesListener(static_cast< css::util::XChangesListener* >(this));
+    }
+    catch(const css::uno::RuntimeException& exRun)
+    { throw exRun; }
+    catch(const css::uno::Exception&)
+    {}
+}
+
 } // namespace framework

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/moduleacceleratorconfiguration.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/moduleacceleratorconfiguration.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/moduleacceleratorconfiguration.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/accelerators/moduleacceleratorconfiguration.cxx Wed Jun 27 13:44:09 2012
@@ -167,5 +167,24 @@ void ModuleAcceleratorConfiguration::imp
         {}
 }
 
+//----------------------------------------------- 
+//
+// XComponent.dispose(),  #120029#, to release the cyclic reference
+//
+void SAL_CALL ModuleAcceleratorConfiguration::dispose()
+	throw(css::uno::RuntimeException)
+{
+    try
+    {
+        css::uno::Reference< css::util::XChangesNotifier > xBroadcaster(m_xCfg, css::uno::UNO_QUERY_THROW);
+        if ( xBroadcaster.is() )
+            xBroadcaster->removeChangesListener(static_cast< css::util::XChangesListener* >(this));
+    }
+    catch(const css::uno::RuntimeException& exRun)
+    { throw exRun; }
+    catch(const css::uno::Exception&)
+    {}
+}
+
 } // namespace framework
 

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/classes/resource.src
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/classes/resource.src?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/classes/resource.src (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/classes/resource.src Wed Jun 27 13:44:09 2012
@@ -113,6 +113,16 @@ String STR_NODOCUMENT
     Text [ en-US ] = "No Documents";
 };
 
+String STR_CLEAR_RECENT_FILES
+{
+    Text [ en-US ] = "Clear List";
+};
+
+String STR_CLEAR_RECENT_FILES_HELP
+{
+    Text [ en-US ] = "Clears the list with the most recently opened files. This action can not be undone.";
+};
+
 String STR_TOOLBAR_TITLE_ADDON
 {
     Text [ en-US ] = "Add-On %num%";

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/fwe/classes/addonsoptions.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/fwe/classes/addonsoptions.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/fwe/classes/addonsoptions.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/fwe/classes/addonsoptions.cxx Wed Jun 27 13:44:09 2012
@@ -275,13 +275,6 @@ class AddonsOptions_Impl : public Config
 	//-------------------------------------------------------------------------------------------------------------
 
 	private:
-		struct OUStringHashCode
-		{
-			size_t operator()( const ::rtl::OUString& sString ) const
-			{
-				return sString.hashCode();
-			}
-		};
 
 		struct ImageEntry
 		{
@@ -296,10 +289,10 @@ class AddonsOptions_Impl : public Config
             Image   aImageBigHCNoScale;
 		};
 
-		typedef std::hash_map< ::rtl::OUString, ImageEntry, OUStringHashCode, ::std::equal_to< ::rtl::OUString > > ImageManager;
-        typedef std::hash_map< ::rtl::OUString, sal_uInt32, OUStringHashCode, ::std::equal_to< ::rtl::OUString > > StringToIndexMap;
+		typedef std::hash_map< ::rtl::OUString, ImageEntry, rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > ImageManager;
+        typedef std::hash_map< ::rtl::OUString, sal_uInt32, rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > StringToIndexMap;
         typedef std::vector< Sequence< Sequence< PropertyValue > > > AddonToolBars;
-        typedef ::std::hash_map< ::rtl::OUString, MergeToolbarInstructionContainer, OUStringHashCode, ::std::equal_to< ::rtl::OUString > > ToolbarMergingInstructions;
+        typedef ::std::hash_map< ::rtl::OUString, MergeToolbarInstructionContainer, rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > ToolbarMergingInstructions;
 
         enum ImageSize
         {

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/fwi/classes/converter.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/fwi/classes/converter.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/fwi/classes/converter.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/fwi/classes/converter.cxx Wed Jun 27 13:44:09 2012
@@ -147,12 +147,12 @@ css::uno::Sequence< ::rtl::OUString > Co
 /**
  * converts an unicode string hash to a sequence<PropertyValue>, where names and values match to key and values.
  */
-css::uno::Sequence< css::beans::PropertyValue > Converter::convert_OUStringHash2seqProp( const OUStringHash& lSource )
+css::uno::Sequence< css::beans::PropertyValue > Converter::convert_OUStringHash2seqProp( const OUStringHashMap& lSource )
 {
     css::uno::Sequence< css::beans::PropertyValue > lDestination (lSource.size());
 	css::beans::PropertyValue*						pDestination = lDestination.getArray();
     sal_Int32 nItem = 0;
-    for (OUStringHash::const_iterator pItem=lSource.begin(); pItem!=lSource.end(); ++pItem)
+    for (OUStringHashMap::const_iterator pItem=lSource.begin(); pItem!=lSource.end(); ++pItem)
     {
         pDestination[nItem].Name  =   pItem->first ;
         pDestination[nItem].Value <<= pItem->second;
@@ -165,9 +165,9 @@ css::uno::Sequence< css::beans::Property
 /**
  * converts a sequence<PropertyValue> to an unicode string hash, where keys and values match to names and values.
  */
-OUStringHash Converter::convert_seqProp2OUStringHash( const css::uno::Sequence< css::beans::PropertyValue >& lSource )
+OUStringHashMap Converter::convert_seqProp2OUStringHash( const css::uno::Sequence< css::beans::PropertyValue >& lSource )
 {
-    OUStringHash lDestination;
+    OUStringHashMap lDestination;
     sal_Int32						 nCount  = lSource.getLength();
 	const css::beans::PropertyValue* pSource = lSource.getConstArray();
     for (sal_Int32 nItem=0; nItem<nCount; ++nItem)

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/acceleratorconfiguration.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/acceleratorconfiguration.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/acceleratorconfiguration.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/acceleratorconfiguration.hxx Wed Jun 27 13:44:09 2012
@@ -309,6 +309,7 @@ class XCUBasedAcceleratorConfiguration :
 									   , public    ::cppu::OWeakObject
 								       , public    css::lang::XTypeProvider
 									   , public    css::util::XChangesListener  
+									   , public    css::lang::XComponent  
 									   , public    css::form::XReset                    // TODO use XPresetHandler instead if available
 									   , public    css::ui::XAcceleratorConfiguration  // => css::ui::XUIConfigurationPersistence						
 																					   //    css::ui::XUIConfigurationStorage
@@ -435,6 +436,11 @@ class XCUBasedAcceleratorConfiguration :
 		virtual void SAL_CALL disposing(const css::lang::EventObject& aEvent)
 			throw(css::uno::RuntimeException);
 
+		// XComponent
+		virtual  void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException);
+		virtual  void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+		virtual  void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+
 		//______________________________________
 		// helper for derived classes
 

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/globalacceleratorconfiguration.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/globalacceleratorconfiguration.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/globalacceleratorconfiguration.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/globalacceleratorconfiguration.hxx Wed Jun 27 13:44:09 2012
@@ -88,6 +88,9 @@ class GlobalAcceleratorConfiguration : p
 			throw (css::uno::Exception       ,
 			css::uno::RuntimeException);
 
+        // XComponent
+        virtual  void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException);
+
     //______________________________________
     // helper
     

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/moduleacceleratorconfiguration.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/moduleacceleratorconfiguration.hxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/moduleacceleratorconfiguration.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/inc/accelerators/moduleacceleratorconfiguration.hxx Wed Jun 27 13:44:09 2012
@@ -96,6 +96,9 @@ class ModuleAcceleratorConfiguration : p
             throw(css::uno::Exception       ,
                   css::uno::RuntimeException);
                   
+        // XComponent
+        virtual  void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException);
+
     //______________________________________
     // helper
     

Modified: incubator/ooo/branches/alg/aw080/main/framework/source/services/frame.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/framework/source/services/frame.cxx?rev=1354497&r1=1354496&r2=1354497&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/framework/source/services/frame.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/framework/source/services/frame.cxx Wed Jun 27 13:44:09 2012
@@ -294,6 +294,7 @@ Frame::Frame( const css::uno::Reference<
         ,   m_bSelfClose                ( sal_False                                         ) // Important!
         ,   m_bIsHidden                 ( sal_True                                          )
         ,   m_xTitleHelper              (                                                   )
+	     ,   mp_WindowCommandDispatch    ( NULL                                              )
         ,   m_aChildFrameContainer      (                                                   )
 {
     // Check incoming parameter to avoid against wrong initialization.
@@ -316,6 +317,10 @@ Frame::Frame( const css::uno::Reference<
 Frame::~Frame()
 {
     LOG_ASSERT2( m_aTransactionManager.getWorkingMode()!=E_CLOSE, "Frame::~Frame()", "Who forgot to dispose this service?" )
+	 if (mp_WindowCommandDispatch != NULL)
+	 {
+		  delete ((WindowCommandDispatch *)mp_WindowCommandDispatch);  // memory leak #i120079#
+	 }
 }
 
 /*-************************************************************************************************************//**
@@ -625,7 +630,7 @@ void SAL_CALL Frame::initialize( const c
     impl_enablePropertySet();
 
     // create WindowCommandDispatch; it is supposed to release itself at frame destruction
-    (void)new WindowCommandDispatch(xSMGR, this);
+    mp_WindowCommandDispatch = new WindowCommandDispatch(xSMGR, this);  // memory leak #i120079#
 
     // Initialize title functionality
     TitleHelper* pTitleHelper = new TitleHelper(xSMGR);



Mime
View raw message