rpms/openoffice.org/devel openoffice.org-2.2.0.ooo74255.vcl.depth.mismatch.patch, 1.1, 1.2 openoffice.org.spec, 1.1032, 1.1033

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Feb 8 15:46:07 UTC 2007


Author: caolanm

Update of /cvs/dist/rpms/openoffice.org/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv21834

Modified Files:
	openoffice.org-2.2.0.ooo74255.vcl.depth.mismatch.patch 
	openoffice.org.spec 
Log Message:
Resolves: rhbz#221214 openoffice.org-2.2.0.ooo74255.vcl.depth.mismatch.patch, better upstream solution

openoffice.org-2.2.0.ooo74255.vcl.depth.mismatch.patch:
 unx/source/gdi/salgdi3.cxx     |    0 
 vcl/unx/source/gdi/salgdi3.cxx |   30 +++++++++++++++++++++++++-----
 2 files changed, 25 insertions(+), 5 deletions(-)

Index: openoffice.org-2.2.0.ooo74255.vcl.depth.mismatch.patch
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org-2.2.0.ooo74255.vcl.depth.mismatch.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- openoffice.org-2.2.0.ooo74255.vcl.depth.mismatch.patch	7 Feb 2007 10:34:35 -0000	1.1
+++ openoffice.org-2.2.0.ooo74255.vcl.depth.mismatch.patch	8 Feb 2007 15:46:04 -0000	1.2
@@ -2,40 +2,62 @@
 ===================================================================
 RCS file: /cvs/gsl/vcl/unx/source/gdi/salgdi3.cxx,v
 retrieving revision 1.143
-diff -u -r1.143 salgdi3.cxx
+diff -u -3 -p -u -w -r1.143 salgdi3.cxx
 --- openoffice.org.orig/vcl/unx/source/gdi/salgdi3.cxx	21 Dec 2006 12:05:00 -0000	1.143
-+++ openoffice.org/vcl/unx/source/gdi/salgdi3.cxx	7 Feb 2007 10:26:40 -0000
-@@ -744,8 +744,7 @@
++++ openoffice.org/vcl/unx/source/gdi/salgdi3.cxx	8 Feb 2007 15:18:55 -0000
+@@ -737,16 +737,33 @@ ConvertTextItem16( XTextItem16* pTextIte
+ void X11SalGraphics::DrawServerAAFontString( const ServerFontLayout& rLayout )
+ {
+     Display* pDisplay = GetXDisplay();
+-    Visual* pVisual = GetDisplay()->GetVisual( m_nScreen ).GetVisual();
+-    X11GlyphPeer& rGlyphPeer = X11GlyphCache::GetInstance().GetPeer();
+     XRenderPeer& rRenderPeer = XRenderPeer::GetInstance();
+-    XRenderPictFormat* pVisualFormat = rRenderPeer.FindVisualFormat( pVisual );
++    XRenderPictFormat* pVisualFormat = NULL;
  
-     // create xrender Picture for font foreground
-     int nVisualDepth = pVisualFormat ? pVisualFormat->depth : GetDisplay()->GetVisual(m_nScreen).GetDepth();
--    SalDisplay::RenderEntry& rEntry = GetDisplay()->GetRenderEntries( m_nScreen )[ nVisualDepth ];
--    if( !rEntry.m_aPicture )
+-    // create xrender Picture for font foreground
+-    int nVisualDepth = pVisualFormat ? pVisualFormat->depth : GetDisplay()->GetVisual(m_nScreen).GetDepth();
++    // find a XRenderPictFormat compatible with the Drawable
++    if( GetXRenderFormat() )
++    {
++        pVisualFormat = (XRenderPictFormat*)GetXRenderFormat();
++    }
++    else
++    {
++	Visual* pVisual = GetDisplay()->GetVisual( m_nScreen ).GetVisual();
++        pVisualFormat = rRenderPeer.FindVisualFormat( pVisual );
++        // cache the XRenderPictFormat
++        SetXRenderFormat( (void*)pVisualFormat );
++    }
 +
++    DBG_ASSERT( pVisualFormat!=NULL, "no matching XRenderPictFormat for text" );
++    if( !pVisualFormat )
++	    return;
++    
++    // get a XRenderPicture for the font foreground
++    const int nVisualDepth = pVisualFormat->depth;
+     SalDisplay::RenderEntry& rEntry = GetDisplay()->GetRenderEntries( m_nScreen )[ nVisualDepth ];
+     if( !rEntry.m_aPicture )
      {
++        // create and cache XRenderPicture for the font foreground
++#ifdef DEBUG
          int iDummy;
          unsigned uDummy;
-@@ -754,6 +753,23 @@
+         XLIB_Window wDummy;
+@@ -754,6 +771,8 @@ void X11SalGraphics::DrawServerAAFontStr
          ::XGetGeometry( pDisplay, hDrawable_, &wDummy, &iDummy, &iDummy,
                        &uDummy, &uDummy, &uDummy, &nDrawDepth );
          DBG_ASSERT( static_cast<unsigned>(nVisualDepth) == nDrawDepth, "depth messed up for XRender" );
-+        if (nDrawDepth == 32 && nVisualDepth == 24)
-+        {
-+            XRenderPictFormat aPictFormat={0,PictTypeDirect,32,{16,0xff,8,0xff,0,0xff,24,0xff},0};
-+            pVisualFormat = rRenderPeer.FindPictureFormat(
-+                 PictFormatType | PictFormatDepth | PictFormatRed |
-+                 PictFormatRedMask | PictFormatGreen | PictFormatGreenMask | 
-+                 PictFormatBlue | PictFormatBlueMask | PictFormatAlpha | PictFormatAlphaMask, 
-+                 aPictFormat);
-+
-+            nVisualDepth = pVisualFormat ? pVisualFormat->depth : GetDisplay()->GetVisual(m_nScreen).GetDepth();
-+        }
-+    }
-+
-+    SalDisplay::RenderEntry& rEntry = GetDisplay()->GetRenderEntries( m_nScreen )[ nVisualDepth ];
-+    if( !rEntry.m_aPicture )
-+    {
++#endif
 +
          rEntry.m_aPixmap = ::XCreatePixmap( pDisplay, hDrawable_, 1, 1, nVisualDepth );
  
          XRenderPictureAttributes aAttr;
+@@ -783,6 +802,7 @@ void X11SalGraphics::DrawServerAAFontStr
+         rRenderPeer.SetPictureClipRegion( aDst, pClipRegion_ );
+ 
+     ServerFont& rFont = rLayout.GetServerFont();
++    X11GlyphPeer& rGlyphPeer = X11GlyphCache::GetInstance().GetPeer();
+     GlyphSet aGlyphSet = rGlyphPeer.GetGlyphSet( rFont, m_nScreen );
+ 
+     Point aPos;


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org.spec,v
retrieving revision 1.1032
retrieving revision 1.1033
diff -u -r1.1032 -r1.1033
--- openoffice.org.spec	8 Feb 2007 09:12:11 -0000	1.1032
+++ openoffice.org.spec	8 Feb 2007 15:46:04 -0000	1.1033
@@ -1272,6 +1272,7 @@
 echo end langpack install time is `date`, diskspace: `df -h . | tail -n 1`
 %endif
 export PKGFORMATSWITCH="-format rpm -simple $RPM_BUILD_ROOT/%{instdir}/sdk"
+export WITH_LANG="en-US"
 echo start sdk install time is `date`, diskspace: `df -h . | tail -n 1`
 dmake sdkoo
 echo end sdk install time is `date`, diskspace: `df -h . | tail -n 1`




More information about the fedora-cvs-commits mailing list