[ooo-build-commit] .: Branch 'ooo-build-3-2-1' - 2 commits - patches/dev300 src/easter

Petr Mladek pmladek at kemper.freedesktop.org
Mon May 24 05:39:31 PDT 2010


 patches/dev300/apply                         |    3 
 patches/dev300/kde4-statusbar-redrawing.diff |   85 +++++++++++++++++++++++++++
 src/easter/weimingkhoo.png                   |binary
 3 files changed, 88 insertions(+)

New commits:
commit 1c62cbd803f7aa17f392d645be54362666234b62
Author: Petr Mladek <pmladek at suse.cz>
Date:   Mon May 24 14:38:28 2010 +0200

    Add Wei Ming Khoo to the Go-oo team
    
    * src/easter/weimingkhoo.png: add

diff --git a/src/easter/weimingkhoo.png b/src/easter/weimingkhoo.png
new file mode 100644
index 0000000..7f6533c
Binary files /dev/null and b/src/easter/weimingkhoo.png differ
commit 3a8e3d899865cf9a18af36d5055761e4913b366a
Author: Petr Mladek <pmladek at suse.cz>
Date:   Mon May 24 14:03:10 2010 +0200

    redraw the status bar when needed in KDE4 (bnc#567886, i#107945)
    
    * patches/dev300/kde4-statusbar-redrawing.diff:
    * patches/dev300/apply: backport from CWS vcl109; fix by pl

diff --git a/patches/dev300/apply b/patches/dev300/apply
index ca5db8c..113a1e9 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2338,6 +2338,9 @@ qt-moc-detect.diff
 # Fix frame border calculation
 kde4-border-frame.diff, i#111464, jholesov
 
+# redraw the status bar when needed; backport from CWS vcl109; fix by pl
+kde4-statusbar-redrawing.diff, bnc#567886, i#107945, pmladek
+
 [ KDE4Experimental ]
 # Not yet ported to co-exist with the KDE3 stuff
 kde4-kab.diff
diff --git a/patches/dev300/kde4-statusbar-redrawing.diff b/patches/dev300/kde4-statusbar-redrawing.diff
new file mode 100644
index 0000000..2a91ff7
--- /dev/null
+++ b/patches/dev300/kde4-statusbar-redrawing.diff
@@ -0,0 +1,85 @@
+--- vcl/unx/kde4/KDESalGraphics.cxx.old	2010-05-14 20:00:31.000000000 +0200
++++ vcl/unx/kde4/KDESalGraphics.cxx	2010-05-24 13:37:29.000000000 +0200
+@@ -228,6 +228,8 @@ BOOL KDESalGraphics::drawNativeControl( 
+ 							 QImage::Format_ARGB32);
+ 		m_image->fill(KApplication::palette().color(QPalette::Window).rgb());
+ 	}
++    
++    XLIB_Region pTempClipRegion = 0;
+ 	
+     if (type == CTRL_PUSHBUTTON)
+     {
+@@ -451,6 +453,19 @@ BOOL KDESalGraphics::drawNativeControl( 
+     {
+ 		lcl_drawFrame(QStyle::PE_Frame, m_image, 
+ 					  vclStateValue2StateFlag(nControlState, value));
++        
++        int size = kapp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin);
++        pTempClipRegion = XCreateRegion();
++        XRectangle xRect = { widgetRect.left(), widgetRect.top(), widgetRect.width(), widgetRect.height() };
++        XUnionRectWithRegion( &xRect, pTempClipRegion, pTempClipRegion );
++        XLIB_Region pSubtract = XCreateRegion();
++        xRect.x += size;
++        xRect.y += size;
++        xRect.width -= 2* size;
++        xRect.height -= 2*size;
++        XUnionRectWithRegion( &xRect, pSubtract, pSubtract );
++        XSubtractRegion( pTempClipRegion, pSubtract, pTempClipRegion );
++        XDestroyRegion( pSubtract );
+     }
+     else if (type == CTRL_FIXEDBORDER)
+     {
+@@ -472,24 +487,42 @@ BOOL KDESalGraphics::drawNativeControl( 
+     }
+     else
+     {
+-        return false;
++        returnVal = false;
+ 	}
+ 
+ 	if (returnVal)
+ 	{
+-		if( SelectFont() == 0 )
+-			return false;
+-		
+-		QPixmap pixmap = QPixmap::fromImage(*m_image, Qt::ColorOnly | Qt::OrderedDither | Qt::OrderedAlphaDither);
+-		X11SalGraphics::CopyScreenArea( GetXDisplay(),
+-			pixmap.handle(), pixmap.x11Info().screen(), pixmap.x11Info().depth(),
+-			GetDrawable(), GetScreenNumber(), GetVisual().GetDepth(),
+-			SelectFont(), 0, 0, widgetRect.width(), widgetRect.height(), widgetRect.left(), widgetRect.top());
++                GC gc = SelectFont();
+ 		
+-		return true;
++                if( gc )
++                {
++                    if( pTempClipRegion )
++                    {
++                        if( pClipRegion_ )
++                            XIntersectRegion( pTempClipRegion, pClipRegion_, pTempClipRegion );
++                        XSetRegion( GetXDisplay(), gc, pTempClipRegion );
++                    }
++                    QPixmap pixmap = QPixmap::fromImage(*m_image, Qt::ColorOnly | Qt::OrderedDither | Qt::OrderedAlphaDither);
++                    X11SalGraphics::CopyScreenArea( GetXDisplay(),
++                                pixmap.handle(), pixmap.x11Info().screen(), pixmap.x11Info().depth(),
++                                GetDrawable(), GetScreenNumber(), GetVisual().GetDepth(),
++                                gc, 0, 0, widgetRect.width(), widgetRect.height(), widgetRect.left(), widgetRect.top());
++
++                    if( pTempClipRegion )
++                    {
++                        if( pClipRegion_ )
++                            XSetRegion( GetXDisplay(), gc, pClipRegion_ );
++                        else
++                            XSetClipMask( GetXDisplay(), gc, None );
++        	}
++        }
++        else
++            returnVal = false;
+ 	}
++    if( pTempClipRegion )
++        XDestroyRegion( pTempClipRegion );
+ 	
+-	return false;
++    return returnVal;
+ }
+ 
+ BOOL KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,


More information about the ooo-build-commit mailing list