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