[ooo-build-commit] 5 commits - patches/dev300

René Engelhard rene at kemper.freedesktop.org
Fri Oct 23 01:12:37 PDT 2009


 patches/dev300/apply                                 |   10 
 patches/dev300/human-icons-add.diff                  |   63 ---
 patches/dev300/kde4_vcl_fixes.diff                   |  396 +------------------
 patches/dev300/ubuntu-lpi.diff                       |   18 
 patches/dev300/unxlngi6-notune.diff                  |    2 
 patches/dev300/vcl-system-graphite-with-stlport.diff |  298 ++++++++++++++
 6 files changed, 365 insertions(+), 422 deletions(-)

New commits:
commit 8618bb63db0d3aafb5ed51223e01425c46d33d93
Author: Rene Engelhard <rene at debian.org>
Date:   Fri Oct 23 10:12:06 2009 +0200

    remove obsolete FIXME
    
    * patches/dev300/apply:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 8be7e60..9188bf6 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2117,7 +2117,6 @@ kde4-oxygen-icons.diff, i#103482
 [ KDE4 ]
 # Further fixes on top of existing kde4 support
 kde4_fpicker_fixes.diff
-# FIXME. Needs update for DEV300, --rengelhard
 kde4_vcl_fixes.diff
 
 # Fixes filter issues and crash when dragging
commit 079194a5a3b44dfde2ce15d6ebd839db715e1c96
Author: Roman Shtylman <shtylman at namlyths.(none)>
Date:   Thu Oct 22 22:40:47 2009 -0400

    updated patches for human icons and kde4
    
    human icons patch would fail to build
    kde4 patch did not apply cleanly
    
    * patches/dev300/human-icons-add.diff:
    * patches/dev300/kde4_vcl_fixes.diff:

diff --git a/patches/dev300/human-icons-add.diff b/patches/dev300/human-icons-add.diff
index c90ebab..295c375 100644
--- a/patches/dev300/human-icons-add.diff
+++ b/patches/dev300/human-icons-add.diff
@@ -58,6 +58,18 @@
  
  	return STYLE_SYMBOLS_AUTO;
 
+--- vcl/inc/vcl/settings.hxx    2008-09-26 21:13:11 +0000
++++ vcl/inc/vcl/settings.hxx    2008-09-26 21:13:11 +0000
+@@ -525,7 +525,8 @@
+ #define STYLE_SYMBOLS_TANGO        ((ULONG)5)
+ #define STYLE_SYMBOLS_CLASSIC      ((ULONG)6)
+ #define STYLE_SYMBOLS_OXYGEN       ((ULONG)7)
+-#define STYLE_SYMBOLS_THEMES_MAX   ((ULONG)8)
++#define STYLE_SYMBOLS_HUMAN        ((ULONG)8)
++#define STYLE_SYMBOLS_THEMES_MAX   ((ULONG)9)
+ 
+ #define STYLE_CURSOR_NOBLINKTIME    ((ULONG)0xFFFFFFFF)
+ 
 --- vcl/source/app/settings.cxx	2008-09-26 21:13:11 +0000
 +++ vcl/source/app/settings.cxx	2008-09-26 21:39:55 +0000
 @@ -52,6 +52,11 @@
diff --git a/patches/dev300/kde4_vcl_fixes.diff b/patches/dev300/kde4_vcl_fixes.diff
index 7dde527..badb24b 100644
--- a/patches/dev300/kde4_vcl_fixes.diff
+++ b/patches/dev300/kde4_vcl_fixes.diff
@@ -320,99 +320,6 @@ index 35b9330..d3baf56 100644
      QRect contentRect = boundingRect;
      QStyleOptionComplex styleOption;
  	
-@@ -550,7 +585,12 @@ BOOL KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,
- 				contentRect.setHeight(kapp->style()->pixelMetric(
- 					QStyle::PM_IndicatorHeight, &styleOption));
- 				
--				contentRect.adjust(0, 10, 0, 5);
-+				contentRect.adjust(0, 0,
-+                    2 * kapp->style()->pixelMetric(
-+                        QStyle::PM_FocusFrameHMargin, &styleOption),
-+                    2 * kapp->style()->pixelMetric(
-+                        QStyle::PM_FocusFrameVMargin, &styleOption)
-+                    );
- 				
- 				boundingRect = contentRect;
- 					
-@@ -571,7 +611,21 @@ BOOL KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,
- 				case PART_ENTIRE_CONTROL:
- 				{
- 					int size = kapp->style()->pixelMetric(QStyle::PM_ComboBoxFrameWidth) - 2;
--					contentRect.adjust(-size,-size,size,size);
-+                    
-+                    // find out the minimum size that should be used
-+                    // assume contents is a text ling
-+                    int nHeight = kapp->fontMetrics().height();
-+                    QSize aContentSize( contentRect.width(), nHeight );
-+                    QSize aMinSize = kapp->style()->
-+                        sizeFromContents( QStyle::CT_ComboBox, &cbo, aContentSize );
-+                    if( aMinSize.height() > contentRect.height() )
-+                        contentRect.adjust( 0, 0, 0, aMinSize.height() - contentRect.height() );
-+                    boundingRect = contentRect;
-+                    // FIXME: why this difference between comboboxes and listboxes ?
-+                    // because a combobox has a sub edit and that is positioned
-+                    // inside the outer bordered control ?
-+                    if( type == CTRL_COMBOBOX )
-+                        contentRect.adjust(-size,-size,size,size);
- 					retVal = true;
- 					break;
- 				}
-@@ -587,6 +641,9 @@ BOOL KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,
- 					
- 					retVal = true;
- 					break;
-+                case PART_WINDOW:
-+                    retVal = true;
-+                    break;
- 			}
- 			break;
- 		}
-@@ -642,23 +699,35 @@ BOOL KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,
- 			}
- 			break;
- 		case CTRL_FRAME:
--		{
--			if (part == PART_BORDER)
--			{
--				int size = kapp->style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
--				//contentRect.adjust(size, size, size, size);
--				boundingRect.adjust(-size, -size, size, size);
--				retVal = true;
--			}
--			
-+        {
-+            if( part == PART_BORDER )
-+            {
-+                int size = kapp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin);
-+                USHORT nStyle = val.getNumericVal();
-+                if( nStyle & FRAME_DRAW_NODRAW )
-+                {
-+                    // in this case the question is: how thick would a frame be
-+                    // see brdwin.cxx, decoview.cxx
-+                    // most probably the behavior in decoview.cxx is wrong.
-+                    contentRect.adjust(size, size, -size, -size);
-+                }
-+                retVal = true;
-+            }
- 			break;
--		}
-+        }
- 		case CTRL_RADIOBUTTON:
- 		{
- 			const int h = kapp->style()->pixelMetric(QStyle::PM_ExclusiveIndicatorHeight);
- 			const int w = kapp->style()->pixelMetric(QStyle::PM_ExclusiveIndicatorWidth);
- 			
- 			contentRect = QRect(boundingRect.left(), boundingRect.top(), w, h);
-+            contentRect.adjust(0, 0,
-+                2 * kapp->style()->pixelMetric(
-+                    QStyle::PM_FocusFrameHMargin, &styleOption),
-+                2 * kapp->style()->pixelMetric(
-+                    QStyle::PM_FocusFrameVMargin, &styleOption)
-+                );
-+            boundingRect = contentRect;
- 			
- 			retVal = true;
- 		}
 diff --git vcl/unx/kde4/KDEXLib.cxx vcl/unx/kde4/KDEXLib.cxx
 index 1e4e367..f7bf04f 100644
 --- vcl/unx/kde4/KDEXLib.cxx
commit 2fda1d614f95510eafeb2db56e90941ef00c370d
Author: Roman Shtylman <shtylman at namlyths.(none)>
Date:   Wed Oct 21 22:29:34 2009 -0400

    fixed patches to apply cleanly
    
    * patches/dev300/apply:
    * patches/dev300/human-icons-add.diff:
    * patches/dev300/kde4_vcl_fixes.diff:
    * patches/dev300/ubuntu-lpi.diff:
    * patches/dev300/unxlngi6-notune.diff:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 9ac81f2..8be7e60 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2118,7 +2118,7 @@ kde4-oxygen-icons.diff, i#103482
 # Further fixes on top of existing kde4 support
 kde4_fpicker_fixes.diff
 # FIXME. Needs update for DEV300, --rengelhard
-#kde4_vcl_fixes.diff
+kde4_vcl_fixes.diff
 
 # Fixes filter issues and crash when dragging
 kde4_fpicker_fixes2.diff
diff --git a/patches/dev300/human-icons-add.diff b/patches/dev300/human-icons-add.diff
index c449549..c90ebab 100644
--- a/patches/dev300/human-icons-add.diff
+++ b/patches/dev300/human-icons-add.diff
@@ -58,57 +58,6 @@
  
  	return STYLE_SYMBOLS_AUTO;
 
---- svx/source/dialog/optgdlg.cxx	2008-09-26 21:13:11 +0000
-+++ svx/source/dialog/optgdlg.cxx	2008-09-26 21:29:24 +0000
-@@ -798,6 +798,7 @@
-             case STYLE_SYMBOLS_CLASSIC:     aAutoStr += aIconStyleLB.GetEntry( 5 ); break;
-             case STYLE_SYMBOLS_HICONTRAST:  aAutoStr += aIconStyleLB.GetEntry( 6 ); break;
-             case STYLE_SYMBOLS_OXYGEN:      aAutoStr += aIconStyleLB.GetEntry( 7 ); break;
-+            case STYLE_SYMBOLS_HUMAN:       aAutoStr += aIconStyleLB.GetEntry( 8 ); break;
-         }
- 
-         aIconStyleLB.RemoveEntry( 0 );
-@@ -880,6 +881,7 @@
-             case 5: eSet = SFX_SYMBOLS_STYLE_TANGO;      break;
-             case 6: eSet = SFX_SYMBOLS_STYLE_CLASSIC;    break;
-             case 7: eSet = SFX_SYMBOLS_STYLE_OXYGEN;     break;
-+            case 8: eSet = SFX_SYMBOLS_STYLE_HUMAN;      break;
-             default:
-                 DBG_ERROR( "OfaViewTabPage::FillItemSet(): This state of aIconStyleLB should not be possible!" );
-         }
-@@ -1052,6 +1054,7 @@
-             case SFX_SYMBOLS_STYLE_TANGO:      nStyleLB_InitialSelection = 5; break;
-             case SFX_SYMBOLS_STYLE_CLASSIC:    nStyleLB_InitialSelection = 6; break;
-             case SFX_SYMBOLS_STYLE_OXYGEN:     nStyleLB_InitialSelection = 7; break;
-+            case SFX_SYMBOLS_STYLE_HUMAN:      nStyleLB_InitialSelection = 8; break;
-             default:                           nStyleLB_InitialSelection = 0; break;
-         }
-     }
-
---- svx/source/dialog/optgdlg.src	2008-09-26 21:13:11 +0000
-+++ svx/source/dialog/optgdlg.src	2008-09-26 21:31:34 +0000
-@@ -251,6 +251,7 @@
-             < "Tango" ; > ;
-             < "Classic" ; > ;
-			 < "Oxygen" ; > ;
-+            < "Human" ; > ;
-         };
-     };
- 	CheckBox CB_SYSTEM_FONT
-
---- vcl/inc/vcl/settings.hxx	2008-09-26 21:13:11 +0000
-+++ vcl/inc/vcl/settings.hxx	2008-09-26 21:32:25 +0000
-@@ -519,7 +519,8 @@
- #define STYLE_SYMBOLS_TANGO		((ULONG)5)
- #define STYLE_SYMBOLS_CLASSIC		((ULONG)6)
- #define STYLE_SYMBOLS_OXYGEN		((ULONG)7)
--#define STYLE_SYMBOLS_THEMES_MAX	((ULONG)7)
-+#define STYLE_SYMBOLS_HUMAN		((ULONG)8)
-+#define STYLE_SYMBOLS_THEMES_MAX	((ULONG)8)
- 
- #define STYLE_CURSOR_NOBLINKTIME    ((ULONG)0xFFFFFFFF)
- 
-
 --- vcl/source/app/settings.cxx	2008-09-26 21:13:11 +0000
 +++ vcl/source/app/settings.cxx	2008-09-26 21:39:55 +0000
 @@ -52,6 +52,11 @@
@@ -140,7 +89,7 @@
 
 	return STYLE_SYMBOLS_AUTO;
  }
-@@ -756,22 +764,50 @@
+@@ -768,22 +764,50 @@
  
  // -----------------------------------------------------------------------
  
@@ -176,13 +125,13 @@
  	ULONG nStyle = GetSymbolsStyle();
 +	nStyle = SymbolsStyleOrAuto(nStyle);
  
- 	if ( nStyle == STYLE_SYMBOLS_AUTO )
+ 	if ( nStyle == STYLE_SYMBOLS_AUTO || ( !CheckSymbolStyle (nStyle) ) )
  	{
  		// the preferred style can be read from the desktop setting by the desktop native widgets modules
  		ULONG nPreferredStyle = GetPreferredSymbolsStyle();
 +		nPreferredStyle = SymbolsStyleOrAuto(nPreferredStyle);
  
- 		if ( nPreferredStyle == STYLE_SYMBOLS_AUTO )
+ 		if ( nPreferredStyle == STYLE_SYMBOLS_AUTO || ( !CheckSymbolStyle (nPreferredStyle) ) )
  		{
  
  			// use a hardcoded desktop-specific fallback if no preferred style has been detected
diff --git a/patches/dev300/kde4_vcl_fixes.diff b/patches/dev300/kde4_vcl_fixes.diff
index 0410dbe..7dde527 100644
--- a/patches/dev300/kde4_vcl_fixes.diff
+++ b/patches/dev300/kde4_vcl_fixes.diff
@@ -1,56 +1,8 @@
-diff --git vcl/unx/kde4/KDEData.cxx vcl/unx/kde4/KDEData.cxx
-index 2b1f5bc..e9f4419 100644
---- vcl/unx/kde4/KDEData.cxx
-+++ vcl/unx/kde4/KDEData.cxx
-@@ -45,6 +45,8 @@ void KDEData::initNWF()
- 	
-     // draw toolbars on separate lines
-     pSVData->maNWFData.mbDockingAreaSeparateTB = true;
-+    // no borders for menu, theming does that
-+    pSVData->maNWFData.mbFlatMenu = true;
- }
- 
- void KDEData::deInitNWF()
-diff --git vcl/unx/kde4/KDESalFrame.cxx vcl/unx/kde4/KDESalFrame.cxx
-index c8bccc8..5c18575 100644
---- vcl/unx/kde4/KDESalFrame.cxx
-+++ vcl/unx/kde4/KDESalFrame.cxx
-@@ -318,6 +318,7 @@ void KDESalFrame::UpdateSettings( AllSettings& rSettings )
-         aMenuBack = toColor( qMenuCG.color( QPalette::Button ) );
-         
-         style.SetMenuTextColor( aMenuFore );
-+        style.SetMenuBarTextColor( aMenuFore );
-         style.SetMenuColor( aMenuBack );
-         style.SetMenuBarColor( aMenuBack );
- 
 diff --git vcl/unx/kde4/KDESalGraphics.cxx vcl/unx/kde4/KDESalGraphics.cxx
 index 35b9330..d3baf56 100644
 --- vcl/unx/kde4/KDESalGraphics.cxx
 +++ vcl/unx/kde4/KDESalGraphics.cxx
-@@ -35,6 +35,8 @@
- #include <QStyle>
- #include <QStyleOption>
- #include <QPainter>
-+#include <QFrame>
-+#include <QLabel>
- 
- #include <kapplication.h>
- 
-@@ -42,10 +44,9 @@
- 
- #include "KDESalGraphics.hxx"
- 
--#include <vcl/settings.hxx>
--#include <rtl/ustrbuf.hxx>
--
--#include <stdio.h>
-+#include "vcl/settings.hxx"
-+#include "vcl/decoview.hxx"
-+#include "rtl/ustrbuf.hxx"
- 
- using namespace ::rtl;
- 
-@@ -93,89 +94,113 @@ QRect region2QRect( const Region& rControlRegion )
+@@ -94,52 +94,35 @@ QRect region2QRect( const Region& rControlRegion )
  
  BOOL KDESalGraphics::IsNativeControlSupported( ControlType type, ControlPart part )
  {
@@ -79,9 +31,10 @@ index 35b9330..d3baf56 100644
 -	
 -	if (type == CTRL_WINDOW_BACKGROUND) return true;
 -	
--	if (type == CTRL_SPINBOX) return true;
+-	if (type == CTRL_SPINBOX && (part == PART_ENTIRE_CONTROL || part == HAS_BACKGROUND_TEXTURE) ) return true;
 -	
--	if (type == CTRL_SPINBUTTONS) return true;
+-	// no spinbuttons for KDE, paint spinbox complete
+-   //if (type == CTRL_SPINBUTTONS) return true;
 -	
 -	if (type == CTRL_GROUPBOX) return true;
 -	
@@ -127,51 +80,14 @@ index 35b9330..d3baf56 100644
 +	//if ( (type == CTRL_PROGRESS)    && (part == PART_ENTIRE_CONTROL) ) return true;
  }
  
- 
--BOOL KDESalGraphics::hitTestNativeControl( ControlType type, ControlPart part,
--										   const Region& rControlRegion, const Point& rPos,
--										   SalControlHandle&, BOOL& rIsInside )
-+BOOL KDESalGraphics::hitTestNativeControl( ControlType, ControlPart,
-+										   const Region&, const Point&,
-+										   SalControlHandle&, BOOL& )
- {
-     return FALSE;
- }
- 
-+void lcl_drawFrame( QRect& i_rRect, QPainter& i_rPainter, QStyle::PrimitiveElement i_nElement,
-+                    ControlState i_nState, const ImplControlValue& i_rValue )
-+{
-+#if QT_VERSION >= QT_VERSION_CHECK( 4, 5, 0 )
-+    QStyleOptionFrameV3 styleOption;
-+    styleOption.frameShape = QFrame::StyledPanel;
-+#else
-+    QStyleOptionFrame styleOption;
-+    QFrame aFrame( NULL );
-+    aFrame.setFrameRect( QRect(0, 0, i_rRect.width(), i_rRect.height()) );
-+    aFrame.setFrameStyle( QFrame::StyledPanel | QFrame::Sunken );
-+    aFrame.ensurePolished();
-+    styleOption.initFrom( &aFrame );
-+    styleOption.lineWidth = aFrame.lineWidth();
-+    styleOption.midLineWidth = aFrame.midLineWidth();
-+#endif
-+	
-+    styleOption.rect = QRect(0, 0, i_rRect.width(), i_rRect.height());
-+    styleOption.state = vclStateValue2StateFlag( i_nState, i_rValue );
-+	
-+#if ( QT_VERSION < QT_VERSION_CHECK( 4, 5, 0 ) )
-+    styleOption.state |= QStyle::State_Sunken;
-+#endif
-+    
-+	kapp->style()->drawPrimitive(i_nElement, &styleOption, &i_rPainter);
-+}
-+
-+#include <stdio.h>
-+
- BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
- 										const Region& rControlRegion, ControlState nControlState,
- 										const ImplControlValue& value, SalControlHandle&,
- 										const OUString& )
+@@ -182,14 +180,15 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
  {
+-   // put not implemented types here
+-   if (type == CTRL_SPINBUTTONS)
+-   {
+-       return false;
+-   }
+
 +	if (!IsNativeControlSupported(type, part))
 +		return false;
 +    
@@ -186,18 +102,8 @@ index 35b9330..d3baf56 100644
  	
 -	QRect widgetRect = region2QRect(rControlRegion);
 +	QRect widgetRect = region2QRect(rControlRegion.GetBoundRect());
-+	
-+    if( type == CTRL_SPINBOX && part == PART_ALL_BUTTONS )
-+        type = CTRL_SPINBUTTONS;
-+	
-+    if( type == CTRL_SPINBUTTONS )
-+    {
-+        SpinbuttonValue* pSpinVal = (SpinbuttonValue *)(value.getOptionalVal());
-+        Rectangle aButtonRect( pSpinVal->maUpperRect);
-+        aButtonRect.Union( pSpinVal->maLowerRect );;
-+        widgetRect = QRect( aButtonRect.Left(), aButtonRect.Top(),
-+                            aButtonRect.Right(), aButtonRect.Bottom() );
-+    }	
+@@ -205,29 +180,12 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
+     }
  	
 -	//draw right onto the window
  	QPixmap pixmap(widgetRect.width(), widgetRect.height());
@@ -211,15 +117,25 @@ index 35b9330..d3baf56 100644
 +	pixmap.fill(KApplication::palette().color(QPalette::Window));
  	
  	QPainter painter(&pixmap);
--	painter.setBackgroundMode(Qt::OpaqueMode);
--	
--	//copy previous screen contents for proper blending
--	QPixmap screen = QPixmap::fromX11Pixmap(drawable);
--	painter.drawPixmap(0,0, screen, widgetRect.left(), widgetRect.top(), widgetRect.width(), widgetRect.height());
- 	
-     if (type == CTRL_PUSHBUTTON)
-     {
-@@ -197,9 +222,8 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
+-   // painter.setBackgroundMode(Qt::OpaqueMode);
+-   
+-   //copy previous screen contents for proper blending
+-   #if ( QT_VERSION >= QT_VERSION_CHECK( 4, 5, 0 ) )
+-   QPixmap screen = QPixmap::fromX11Pixmap(drawable);
+-   painter.drawPixmap(0,0, screen, widgetRect.left(), widgetRect.top(), widgetRect.width(), widgetRect.height());
+-   #else
+-   const QX11Info& rX11Info( pixmap.x11Info() );
+-   X11SalGraphics::CopyScreenArea( dpy,
+-                             drawable, GetScreenNumber(), GetBitCount(),
+-                             pixmap.handle(), rX11Info.screen(), rX11Info.depth(),
+-                             GetDisplay()->GetCopyGC( GetScreenNumber() ),
+-                             widgetRect.left(), widgetRect.top(), widgetRect.width(), widgetRect.height(),
+-                             0, 0 );
+-   #endif
+	
+    if (type == CTRL_PUSHBUTTON)
+    {
+@@ -248,9 +222,8 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
  			
  			kapp->style()->drawControl( QStyle::CE_MenuBarItem, &styleOption, &painter);
  		}
@@ -230,27 +146,15 @@ index 35b9330..d3baf56 100644
  		}
  	}
  	else if (type == CTRL_MENU_POPUP)
-@@ -239,57 +263,73 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
+@@ -239,7 +263,6 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
  		}
  		else
  		{
 -			pixmap.fill(KApplication::palette().color(QPalette::Window));
  			
-+#if ( QT_VERSION >= QT_VERSION_CHECK( 4, 5, 0 ) )
+            #if ( QT_VERSION >= QT_VERSION_CHECK( 4, 5, 0 ) )
  			QStyleOptionFrameV3 styleOption;
-+#else
-+			QStyleOptionFrameV2 styleOption;
-+#endif
- 		
- 			styleOption.rect = QRect(0, 0, widgetRect.width(), widgetRect.height());
- 			styleOption.state = vclStateValue2StateFlag( nControlState, value );
-+			
-+#if ( QT_VERSION >= QT_VERSION_CHECK( 4, 5, 0 ) )
- 			styleOption.frameShape = QFrame::StyledPanel;
-+#endif
- 			
- 			kapp->style()->drawPrimitive( QStyle::PE_FrameMenu, &styleOption, &painter);
- 		}
+@@ -310,39 +263,45 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
  	}
 -	else if ( (type == CTRL_TOOLBAR) && (part == PART_BUTTON) )
 -    {
@@ -326,15 +230,6 @@ index 35b9330..d3baf56 100644
 -		pixmap.fill(KApplication::palette().color(QPalette::Window));
  		
  		//TODO hover?? OO does not seem to do this for line edits
- 		
-+#if ( QT_VERSION >= QT_VERSION_CHECK( 4, 5, 0 ) )
- 		QStyleOptionFrameV3 styleOption;
-+#else
-+		QStyleOptionFrameV2 styleOption;
-+#endif
- 		
- 		styleOption.state = vclStateValue2StateFlag( nControlState, value );
- 		
 @@ -302,7 +342,6 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
  	}
  	else if (type == CTRL_COMBOBOX)
@@ -392,62 +287,15 @@ index 35b9330..d3baf56 100644
  		if ((part == PART_DRAW_BACKGROUND_VERT) || (part == PART_DRAW_BACKGROUND_HORZ))
  		{
  			ScrollbarValue* sbVal = static_cast<ScrollbarValue *> ( value.getOptionalVal() );
-@@ -401,24 +445,18 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
+@@ -401,7 +445,5 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
  	}
  	else if (type == CTRL_SPINBOX)
  	{
 -		pixmap.fill(KApplication::palette().color(QPalette::Window));
--		//SpinbuttonValue* sbVal = static_cast<SpinbuttonValue *> ( value.getOptionalVal() );
--		
+- 
  		QStyleOptionSpinBox styleOption;
  		styleOption.rect = QRect(0, 0, widgetRect.width(), widgetRect.height());
- 		styleOption.state = vclStateValue2StateFlag( nControlState, value );
--		
--		kapp->style()->drawComplexControl(QStyle::CC_SpinBox, &styleOption, &painter);
--	}
--	else if (type == CTRL_SPINBUTTONS)
--	{
--		pixmap.fill(KApplication::palette().color(QPalette::Window));
--		
--		QStyleOptionSpinBox styleOption;
--		styleOption.rect = QRect(0, 0, widgetRect.width(), widgetRect.height());
--		styleOption.state = vclStateValue2StateFlag( nControlState, value );
--		
--		styleOption.subControls = QStyle::SC_SpinBoxUp | QStyle::SC_SpinBoxDown;
-+        // determine active control
-+        SpinbuttonValue* pSpinVal = (SpinbuttonValue *)(value.getOptionalVal());
-+        if( pSpinVal )
-+        {
-+            if( (pSpinVal->mnUpperState & CTRL_STATE_PRESSED) )
-+                styleOption.activeSubControls |= QStyle::SC_SpinBoxUp;
-+            if( (pSpinVal->mnLowerState & CTRL_STATE_PRESSED) )
-+                styleOption.activeSubControls |= QStyle::SC_SpinBoxDown;
-+        }
- 		
- 		kapp->style()->drawComplexControl(QStyle::CC_SpinBox, &styleOption, &painter);
- 	}
-@@ -448,25 +486,14 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
- 	}
- 	else if (type == CTRL_FRAME)
- 	{
--		QStyleOptionFrameV3 styleOption;
--		styleOption.rect = QRect(0, 0, widgetRect.width(), widgetRect.height());
--		styleOption.state = vclStateValue2StateFlag( nControlState, value );
--		styleOption.frameShape = QFrame::StyledPanel;
--		
--		kapp->style()->drawPrimitive(QStyle::PE_FrameWindow, &styleOption, &painter);
-+        lcl_drawFrame( widgetRect, painter, QStyle::PE_Frame, nControlState, value );
- 	}
- 	else if (type == CTRL_FIXEDBORDER)
- 	{
--		QStyleOptionFrameV3 styleOption;
--		styleOption.rect = QRect(0, 0, widgetRect.width(), widgetRect.height());
--		styleOption.state = vclStateValue2StateFlag( nControlState, value );
--		styleOption.frameShape = QFrame::StyledPanel;
--		
--		kapp->style()->drawPrimitive(QStyle::PE_FrameWindow, &styleOption, &painter);
-+        lcl_drawFrame( widgetRect, painter, QStyle::PE_FrameWindow, nControlState, value );
- 	}
+@@ -448,6 +486,5 @@ BOOL KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
  	else if (type == CTRL_WINDOW_BACKGROUND)
  	{
 -		pixmap.fill(KApplication::palette().color(QPalette::Window));	
@@ -472,36 +320,6 @@ index 35b9330..d3baf56 100644
      QRect contentRect = boundingRect;
      QStyleOptionComplex styleOption;
  	
-@@ -528,14 +555,22 @@ BOOL KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,
- 			break;
- 		case CTRL_EDITBOX:
- 		{
--			styleOption.rect = QRect(0, 0, contentRect.width(), contentRect.height());
--			styleOption.state = vclStateValue2StateFlag(controlState, val);
--
--			int size = kapp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) - 1;
--			
--			contentRect.adjust( -size, -size, size, size);
--			boundingRect = contentRect;
-+            int nFontHeight    = kapp->fontMetrics().height();
-+			//int nFrameSize     = kapp->style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
-+			int nLayoutTop     = kapp->style()->pixelMetric(QStyle::PM_LayoutTopMargin);
-+            int nLayoutBottom  = kapp->style()->pixelMetric(QStyle::PM_LayoutBottomMargin);
-+			int nLayoutLeft    = kapp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin);
-+            int nLayoutRight   = kapp->style()->pixelMetric(QStyle::PM_LayoutRightMargin);
-+
-+            int nMinHeight = (nFontHeight + nLayoutTop + nLayoutBottom);
-+            if( boundingRect.height() < nMinHeight )
-+            {
-+                int delta = nMinHeight - boundingRect.height();
-+                boundingRect.adjust( 0, 0, 0, delta );
-+            }
- 			
-+            contentRect = boundingRect;
-+            contentRect.adjust( -nLayoutLeft+1, -nLayoutTop+1, nLayoutRight-1, nLayoutBottom-1 );
- 			retVal = true;
- 			
- 			break;
 @@ -550,7 +585,12 @@ BOOL KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,
  				contentRect.setHeight(kapp->style()->pixelMetric(
  					QStyle::PM_IndicatorHeight, &styleOption));
@@ -595,25 +413,6 @@ index 35b9330..d3baf56 100644
  			
  			retVal = true;
  		}
-diff --git vcl/unx/kde4/KDESalGraphics.hxx vcl/unx/kde4/KDESalGraphics.hxx
-index f6e77d7..53f5f8d 100644
---- vcl/unx/kde4/KDESalGraphics.hxx
-+++ vcl/unx/kde4/KDESalGraphics.hxx
-@@ -82,10 +82,10 @@ class KDESalGraphics : public X11SalGraphics
- 			@param rControlHandle Carries platform dependent data and is maintained by the SalFrame implementation.
- 			@param aCaption	A caption or title string (like button text etc.)
- 		*/
--		virtual BOOL drawNativeControlText( ControlType type, ControlPart part,
--											const Region& rControlRegion, ControlState nControlState,
--											const ImplControlValue& aValue, SalControlHandle& rControlHandle,
--											const rtl::OUString& aCaption ) { return false; }
-+		virtual BOOL drawNativeControlText( ControlType, ControlPart,
-+											const Region&, ControlState,
-+											const ImplControlValue&, SalControlHandle&,
-+											const rtl::OUString& ) { return false; }
- 		/** Check if the bounding regions match.
- 			
- 			If the return value is TRUE, rNativeBoundingRegion
 diff --git vcl/unx/kde4/KDEXLib.cxx vcl/unx/kde4/KDEXLib.cxx
 index 1e4e367..f7bf04f 100644
 --- vcl/unx/kde4/KDEXLib.cxx
@@ -635,7 +434,7 @@ index 1e4e367..f7bf04f 100644
  	
      // free the faked cmdline arguments no longer needed by KApplication
      for( int i = 0; i < m_nFakeCmdLineArgs; i++ )
-@@ -139,7 +140,7 @@ void KDEXLib::Init()
+@@ -146,7 +147,7 @@ void KDEXLib::Init()
  	Display* pDisp = QX11Info::display();
  	SalKDEDisplay *pSalDisplay = new SalKDEDisplay(pDisp);
  	
@@ -677,27 +476,3 @@ index ff44d1b..4c4587b 100644
  	//if we have a display and the display consumes the event
  	//do not process the event in qt
  	if (disp && disp->Dispatch(event) > 0)
-diff --git vcl/unx/kde4/main.cxx vcl/unx/kde4/main.cxx
-index 848cd09..e31c6d7 100644
---- vcl/unx/kde4/main.cxx
-+++ vcl/unx/kde4/main.cxx
-@@ -45,8 +45,8 @@
- extern "C" {
- 	VCL_DLLPUBLIC SalInstance* create_SalInstance( oslModule )
- 	{
--#if QT_VERSION < 0x040000
--		// Qt 3.x support needs >= 3.2.2 - any 4.x should be ok
-+#if QT_VERSION < 0x050000
-+		// Qt 4.x support needs >= 4.1.0
- 		rtl::OString aVersion( qVersion() );
- #if OSL_DEBUG_LEVEL > 1
- 		fprintf( stderr, "qt version string is \"%s\"\n", aVersion.getStr() );
-@@ -57,7 +57,7 @@ extern "C" {
- 			nMinor = aVersion.getToken( 0, '.', nIndex ).toInt32();
- 		if( nIndex > 0 )
- 			nMicro = aVersion.getToken( 0, '.', nIndex ).toInt32();
--		if( nMajor != 3 || nMinor < 2 || (nMinor == 2 && nMicro < 2) )
-+		if( nMajor != 4 || nMinor < 1 )
- 		{
- #if OSL_DEBUG_LEVEL > 1
- 			fprintf( stderr, "unsuitable qt version %d.%d.%d\n", nMajor, nMinor, nMicro );
diff --git a/patches/dev300/ubuntu-lpi.diff b/patches/dev300/ubuntu-lpi.diff
index 0368dbe..1c10bb7 100644
--- a/patches/dev300/ubuntu-lpi.diff
+++ b/patches/dev300/ubuntu-lpi.diff
@@ -284,15 +284,15 @@
 
 --- sd/uiconfig/sdraw/menubar/menubar.xml	2009-05-03 19:34:18.000000000 -0500
 +++ sd/uiconfig/sdraw/menubar/menubar.xml	2009-05-03 19:51:08.000000000 -0500
-@@ -319,6 +319,8 @@
- 			<menu:menuitem menu:id=".uno:ExtendedHelp"/>
- 			<menu:menuseparator/>
- 			<menu:menuitem menu:id=".uno:HelpSupport"/>
-+			<menu:menuitem menu:id=".uno:HelpTranslate"/>
-+			<menu:menuitem menu:id=".uno:HelpReportProblem"/>
- 			<menu:menuseparator/>
- 			<menu:menuitem menu:id=".uno:About"/>
- 		</menu:menupopup>
++@@ -322,6 +322,8 @@
+                       <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+                       <menu:menuseparator/>
+                       <menu:menuitem menu:id=".uno:HelpSupport"/>
++                      <menu:menuitem menu:id=".uno:HelpTranslate"/>
++                      <menu:menuitem menu:id=".uno:HelpReportProblem"/>
+                       <menu:menuseparator/>
+                       <menu:menuitem menu:id=".uno:About"/>
+               </menu:menupopup>
 --- sd/uiconfig/simpress/menubar/menubar.xml	2009-05-03 19:34:18.000000000 -0500
 +++ sd/uiconfig/simpress/menubar/menubar.xml	2009-05-03 19:53:22.000000000 -0500
 @@ -294,6 +294,8 @@
diff --git a/patches/dev300/unxlngi6-notune.diff b/patches/dev300/unxlngi6-notune.diff
index f2d932a..d03df2b 100644
--- a/patches/dev300/unxlngi6-notune.diff
+++ b/patches/dev300/unxlngi6-notune.diff
@@ -5,7 +5,7 @@ Index: unxlngi.mk
 @@ -31,7 +31,7 @@
  
  # mk file for Unix Linux Intel (X86) using GCC, please make generic modifications to unxlng.mk
- CDEFAULTOPT=-Os
+ CDEFAULTOPT=-O2
 -ARCH_FLAGS*=-mtune=pentiumpro
 +#ARCH_FLAGS*=-mtune=pentiumpro
  .INCLUDE : unxlng.mk
commit c3dcc058cac4845dd62baeb352b04cc4c929a4eb
Author: Rene Engelhard <rene at debian.org>
Date:   Wed Oct 21 22:11:56 2009 +0200

    cws buildverbosity is in dev300-m63
    
    * patches/dev300/apply:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 984f48e..9ac81f2 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -259,7 +259,7 @@ fix-gtk-a11y-gail-version-warning.diff, pmladek
 # Update linkoo for dev300 TODO file upstream
 linkoo-dev300.diff, jholesov
 
-[ TemporaryHacks ]
+[ TemporaryHacks < dev300-m63 ]
 
 # Make the historically very verbose build quieter, helps us see warnings.
 # From the upstream buildverbosity01 CWS
commit 34830ad785a335cb46c21610eb3a2e9884c9d9fc
Author: Rene Engelhard <rene at debian.org>
Date:   Wed Oct 21 22:11:07 2009 +0200

    add *Experimental* buildfix from cmc for system-graphite on i386 (STLport)
    
    * patches/dev300/apply:
    * patches/dev300/vcl-system-graphite-with-stlport.diff:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 5b39c37..984f48e 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -34,7 +34,7 @@ Experimental: VBAUntested, ArkOnlyExperimental, \
 	      UnitBootstrap, RadioButtons, UnstableLibwpd, WWInProgress, \
 	      KDE4Experimental, MinGW, CalcExperimental, Mono24, \
 	      OOXMLExportExperimental, CrossWin32Patches, AutoLayout, \
-		  WriterNavigation, WriterDocComparison
+		  WriterNavigation, WriterDocComparison, SystemGraphiteWithSTLport
 DebianLooseSections: DebianBaseNoHelpContent
 # Optional sections
 Optional : LiberationFontsOnWindows, NovellOnlyExtensionFixes, Win32OnlyExtensionFixes, Linux32OnlyExtensionFixes
@@ -3389,3 +3389,6 @@ build-fix-xulrunner-npapi-inc.diff, janneke
 # automatic restart doesn't work on Linux anyway, so for consistency
 # it doesn't hurt if we force it not to work on Windows, either.
 win32-dont-attempt-restart.diff, n#524250, tml
+
+[ SystemGraphiteWithSTLport ]
+vcl-system-graphite-with-stlport.diff, #i106157
diff --git a/patches/dev300/vcl-system-graphite-with-stlport.diff b/patches/dev300/vcl-system-graphite-with-stlport.diff
new file mode 100644
index 0000000..4c4437e
--- /dev/null
+++ b/patches/dev300/vcl-system-graphite-with-stlport.diff
@@ -0,0 +1,298 @@
+diff -ru vcl.orig/inc/vcl/graphite_adaptors.hxx vcl/inc/vcl/graphite_adaptors.hxx
+--- vcl.orig/inc/vcl/graphite_adaptors.hxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/inc/vcl/graphite_adaptors.hxx	2009-10-21 16:41:45.000000000 +0100
+@@ -58,10 +58,11 @@
+ #include "vcl/dllapi.h"
+ 
+ // Libraries
++#include "pregraphitestl.h"
+ #include <graphite/GrClient.h>
+ #include <graphite/Font.h>
+ #include <graphite/ITextSource.h>
+-
++#include "postgraphitestl.h"
+ 
+ // Module type definitions and forward declarations.
+ //
+@@ -121,7 +122,7 @@
+     const grutils::GrFeatureParser * features() const { return mpFeatures; };
+ 
+ private:
+-    virtual void UniqueCacheInfo(std::wstring &, bool &, bool &);
++    virtual void UniqueCacheInfo(sil_std::wstring &, bool &, bool &);
+ 
+     FreetypeServerFont& mrFont;
+     FontProperties        maFontProperties;
+diff -ru vcl.orig/inc/vcl/graphite_features.hxx vcl/inc/vcl/graphite_features.hxx
+--- vcl.orig/inc/vcl/graphite_features.hxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/inc/vcl/graphite_features.hxx	2009-10-21 16:40:45.000000000 +0100
+@@ -32,10 +32,11 @@
+ // Parse a string of features specified as ; separated pairs.
+ // e.g.
+ // 1001=1&2002=2&fav1=0
+-
++#include "pregraphitestl.h"
+ #include <graphite/GrClient.h>
+ #include <graphite/Font.h>
+ #include <graphite/GrFeature.h>
++#include "postgraphitestl.h"
+ 
+ namespace grutils
+ {
+diff -ru vcl.orig/inc/vcl/graphite_layout.hxx vcl/inc/vcl/graphite_layout.hxx
+--- vcl.orig/inc/vcl/graphite_layout.hxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/inc/vcl/graphite_layout.hxx	2009-10-21 16:42:05.000000000 +0100
+@@ -43,11 +43,13 @@
+ #include <vector>
+ #include <utility>
+ // Libraries
++#include "pregraphitestl.h"
+ #include <graphite/GrClient.h>
+ #include <graphite/Font.h>
+ #include <graphite/GrConstants.h>
+ #include <graphite/GrAppData.h>
+ #include <graphite/SegmentAux.h>
++#include "postgraphitestl.h"
+ // Platform
+ #include <vcl/sallayout.hxx>
+ #include <vcl/dllapi.h>
+diff -ru vcl.orig/source/glyphs/graphite_adaptors.cxx vcl/source/glyphs/graphite_adaptors.cxx
+--- vcl.orig/source/glyphs/graphite_adaptors.cxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/source/glyphs/graphite_adaptors.cxx	2009-10-21 16:29:35.000000000 +0100
+@@ -169,7 +169,7 @@
+     mpFeatures = NULL;
+ }
+ 
+-void GraphiteFontAdaptor::UniqueCacheInfo(std::wstring & face_name_out, bool & bold_out, bool & italic_out)
++void GraphiteFontAdaptor::UniqueCacheInfo(sil_std::wstring & face_name_out, bool & bold_out, bool & italic_out)
+ {
+     face_name_out = maFontProperties.szFaceName;
+     bold_out = maFontProperties.fBold;
+diff -ru vcl.orig/source/glyphs/graphite_cache.cxx vcl/source/glyphs/graphite_cache.cxx
+--- vcl.orig/source/glyphs/graphite_cache.cxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/source/glyphs/graphite_cache.cxx	2009-10-21 16:39:14.000000000 +0100
+@@ -36,8 +36,10 @@
+ #include <tools/debug.hxx>
+ #include <vcl/sallayout.hxx>
+ 
++#include "pregraphitestl.h"
+ #include <graphite/GrClient.h>
+ #include <graphite/Segment.h>
++#include "postgraphitestl.h"
+ 
+ #include <rtl/ustring.hxx>
+ #include <vcl/graphite_layout.hxx>
+diff -ru vcl.orig/source/glyphs/graphite_features.cxx vcl/source/glyphs/graphite_features.cxx
+--- vcl.orig/source/glyphs/graphite_features.cxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/source/glyphs/graphite_features.cxx	2009-10-21 16:29:40.000000000 +0100
+@@ -91,7 +91,7 @@
+                 gr::isocode aLang = maLang;
+                 for (size_t i = pos; i < nFeatEnd; i++)
+                     aLang.rgch[i-pos] = features[i];
+-                std::pair<gr::LanguageIterator,gr::LanguageIterator> aSupported
++                sil_std::pair<gr::LanguageIterator,gr::LanguageIterator> aSupported
+                     = font.getSupportedLanguages();
+                 gr::LanguageIterator iL = aSupported.first;
+                 while (iL != aSupported.second)
+@@ -142,7 +142,7 @@
+             if (lang[i] == '-') break;
+             aLang.rgch[i] = lang[i];
+         }
+-        std::pair<gr::LanguageIterator,gr::LanguageIterator> aSupported
++        sil_std::pair<gr::LanguageIterator,gr::LanguageIterator> aSupported
+                     = font.getSupportedLanguages();
+         gr::LanguageIterator iL = aSupported.first;
+         while (iL != aSupported.second)
+@@ -189,7 +189,7 @@
+     {
+         return false;
+     }
+-    std::pair< gr::FeatureSettingIterator, gr::FeatureSettingIterator >
++    sil_std::pair< gr::FeatureSettingIterator, gr::FeatureSettingIterator >
+         validValues = font.getFeatureSettings(i);
+     gr::FeatureSettingIterator j = validValues.first;
+     while (j != validValues.second)
+diff -ru vcl.orig/source/glyphs/graphite_layout.cxx vcl/source/glyphs/graphite_layout.cxx
+--- vcl.orig/source/glyphs/graphite_layout.cxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/source/glyphs/graphite_layout.cxx	2009-10-21 16:42:41.000000000 +0100
+@@ -66,11 +66,13 @@
+ #include <unicode/uscript.h>
+ 
+ // Graphite Libraries (must be after vcl headers on windows)
++#include "pregraphitestl.h"
+ #include <graphite/GrClient.h>
+ #include <graphite/Font.h>
+ #include <graphite/ITextSource.h>
+ #include <graphite/Segment.h>
+ #include <graphite/SegmentPainter.h>
++#include "postgraphitestl.h"
+ 
+ #include <vcl/graphite_layout.hxx>
+ #include <vcl/graphite_features.hxx>
+@@ -105,8 +107,8 @@
+ 
+ namespace
+ {
+-    typedef std::pair<gr::GlyphIterator, gr::GlyphIterator>       glyph_range_t;
+-    typedef std::pair<gr::GlyphSetIterator, gr::GlyphSetIterator> glyph_set_range_t;
++    typedef sil_std::pair<gr::GlyphIterator, gr::GlyphIterator>       glyph_range_t;
++    typedef sil_std::pair<gr::GlyphSetIterator, gr::GlyphSetIterator> glyph_set_range_t;
+ 
+     inline long round(const float n) {
+         return long(n + (n < 0 ? -0.5 : 0.5));
+@@ -171,7 +173,7 @@
+     bool bRtl, long &rWidth, float fScaling, std::vector<int> & rChar2Base, std::vector<int> & rGlyph2Char, std::vector<int> & rCharDxs)
+ {
+     // Create a glyph item for each of the glyph and append it to the base class glyph list.
+-    typedef std::pair< gr::GlyphSetIterator, gr::GlyphSetIterator > GrGlyphSet;
++    typedef sil_std::pair< gr::GlyphSetIterator, gr::GlyphSetIterator > GrGlyphSet;
+     int nChar = rArgs.mnEndCharPos - rArgs.mnMinCharPos;
+     glyph_range_t iGlyphs = rSegment.glyphs();
+     int nGlyphs = iGlyphs.second - iGlyphs.first;
+@@ -586,7 +588,7 @@
+     sal_Int32 hashCode(const grutils::GrFeatureParser * mpFeatures)
+     {
+         // is this sufficient?
+-        std::wstring aFace;
++        sil_std::wstring aFace;
+         bool bBold;
+         bool bItalic;
+         UniqueCacheInfo(aFace, bBold, bItalic);
+diff -ru vcl.orig/source/glyphs/graphite_textsrc.cxx vcl/source/glyphs/graphite_textsrc.cxx
+--- vcl.orig/source/glyphs/graphite_textsrc.cxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/source/glyphs/graphite_textsrc.cxx	2009-10-21 16:37:42.000000000 +0100
+@@ -138,16 +138,16 @@
+     return unknown;
+ }
+ 
+-std::pair<gr::toffset, gr::toffset> TextSourceAdaptor::propertyRange(gr::toffset nCharIdx)
++sil_std::pair<gr::toffset, gr::toffset> TextSourceAdaptor::propertyRange(gr::toffset nCharIdx)
+ {
+ 
+     if (nCharIdx < unsigned(maLayoutArgs.mnMinCharPos))
+-        return std::make_pair(0, maLayoutArgs.mnMinCharPos);
++        return sil_std::make_pair(0, maLayoutArgs.mnMinCharPos);
+ 
+     if (nCharIdx < mnEnd)
+-        return std::make_pair(maLayoutArgs.mnMinCharPos, mnEnd);
++        return sil_std::make_pair(maLayoutArgs.mnMinCharPos, mnEnd);
+ 
+-    return std::make_pair(mnEnd, maLayoutArgs.mnLength);
++    return sil_std::make_pair(mnEnd, maLayoutArgs.mnLength);
+ }
+ 
+ size_t TextSourceAdaptor::getFontFeatures(gr::toffset, gr::FeatureSetting * settings)
+@@ -159,7 +159,7 @@
+ 
+ bool TextSourceAdaptor::sameSegment(gr::toffset char_idx1, gr::toffset char_idx2)
+ {
+-    const std::pair<gr::toffset, gr::toffset>
++    const sil_std::pair<gr::toffset, gr::toffset>
+     range1 = propertyRange(char_idx1),
+     range2 = propertyRange(char_idx2);
+ 
+diff -ru vcl.orig/source/glyphs/graphite_textsrc.hxx vcl/source/glyphs/graphite_textsrc.hxx
+--- vcl.orig/source/glyphs/graphite_textsrc.hxx	2009-10-20 14:54:38.000000000 +0100
++++ vcl/source/glyphs/graphite_textsrc.hxx	2009-10-21 16:42:20.000000000 +0100
+@@ -62,9 +62,11 @@
+ #include "vcl/dllapi.h"
+ 
+ // Libraries
++#include "pregraphitestl.h"
+ #include <graphite/GrClient.h>
+ #include <graphite/Font.h>
+ #include <graphite/ITextSource.h>
++#include "postgraphitestl.h"
+ 
+ // Module type definitions and forward declarations.
+ //
+@@ -91,7 +93,7 @@
+         virtual float           getVerticalOffset(gr::toffset ich);
+         virtual gr::isocode     getLanguage(gr::toffset ich);
+ 
+-        virtual std::pair<gr::toffset, gr::toffset> propertyRange(gr::toffset ich);
++        virtual sil_std::pair<gr::toffset, gr::toffset> propertyRange(gr::toffset ich);
+         virtual size_t  getFontFeatures(gr::toffset ich, gr::FeatureSetting * prgfset);
+         virtual bool    sameSegment(gr::toffset ich1, gr::toffset ich2);
+ 
+diff -ru vcl.orig/util/makefile2.pmk vcl/util/makefile2.pmk
+--- vcl.orig/util/makefile2.pmk	2009-10-20 14:54:39.000000000 +0100
++++ vcl/util/makefile2.pmk	2009-10-21 16:48:11.000000000 +0100
+@@ -36,3 +36,10 @@
+ .IF "$(GUIBASE)"=="aqua"
+ CFLAGSCXX+=$(OBJCXXFLAGS)
+ .ENDIF  # "$(GUIBASE)"=="aqua"
++
++#building with stlport, but graphite was not built with stlport
++.IF "$(USE_SYSTEM_STL)"!="YES"
++.IF "$(SYSTEM_GRAPHITE)"=="YES"
++CDEFS += -DGRAPHITEADAPTSTL
++.ENDIF
++.ENDIF
+--- /dev/null	2009-10-21 13:36:00.040005413 +0100
++++ vcl/inc/pregraphitestl.h	2009-10-21 16:45:01.000000000 +0100
+@@ -0,0 +1,29 @@
++#if defined(GRAPHITEADAPTSTL) && defined(std)
++#   define std_was_redefined_as_stlport std
++#   undef std
++#   undef _STLP_CONFIG_H
++#   undef _STLP_STRING
++#   undef _STLP_IOSTREAM
++#   undef _STLP_IOSFWD
++#   undef _STLP_IOMANIP
++#   undef _STLP_ALGORITHM
++#   undef _STLP_VECTOR
++#   undef _STLP_SET
++#   undef _STLP_MAP
++#   define _STLP_DONT_REDEFINE_STD 1
++#   define _STLP_WHOLE_NATIVE_STD 1
++#   include _STLP_NATIVE_HEADER(exception_defines.h)
++#   include _STLP_NATIVE_HEADER(memory)
++#   include _STLP_NATIVE_HEADER(exception)
++#   include _STLP_NATIVE_HEADER(iosfwd)
++#   include _STLP_NATIVE_HEADER(string)
++#   include _STLP_NATIVE_HEADER(streambuf)
++#   include _STLP_NATIVE_HEADER(ios)
++#   include _STLP_NATIVE_HEADER(locale)
++#   include _STLP_NATIVE_HEADER(stdexcept)
++#   include _STLP_NATIVE_HEADER(ostream)
++#   include _STLP_NATIVE_HEADER(istream)
++#   include _STLP_NATIVE_HEADER(iostream)
++#endif
++//sil_std resolves to the std that Graphite was built with
++namespace sil_std = std;
+--- /dev/null	2009-10-21 13:36:00.040005413 +0100
++++ vcl/inc/postgraphitestl.h	2009-10-21 16:39:03.000000000 +0100
+@@ -0,0 +1,17 @@
++#ifdef std_was_redefined_as_stlport
++//  put things back the way they were
++#   define std std_was_redefined_as_stlport
++#   undef _STLP_DONT_REDEFINE_STD
++#   undef _STLP_WHOLE_NATIVE_STD
++#   undef _STLP_STRING
++#   undef _STLP_IOSTREAM
++#   undef _STLP_IOSFWD
++#   undef _STLP_IOMANIP
++#   undef _STLP_ALGORITHM
++#   undef _STLP_VECTOR
++#   undef _STLP_SET
++#   undef _STLP_MAP
++//  force config to be re-read
++#   undef _STLP_CONFIG_H
++#   include <stddef.h>
++#endif
+--- configure.in.orig	2009-10-21 16:57:59.000000000 +0100
++++ configure.in	2009-10-21 16:58:08.000000000 +0100
+@@ -4562,12 +4562,6 @@
+         AC_MSG_RESULT([external])
+         SYSTEM_GRAPHITE=YES
+         PKG_CHECK_MODULES( GRAPHITE, silgraphite )
+-	AC_MSG_CHECKING([STL compatibility])
+-	if test "$WITH_STLPORT" != "no"; then
+-		AC_MSG_ERROR([to use system graphite you need to use --without-stlport])
+-	else
+-		AC_MSG_RESULT([OK])	
+-	fi
+     else
+         AC_MSG_RESULT([internal])
+         SYSTEM_GRAPHITE=NO


More information about the ooo-build-commit mailing list