[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

./packages/openofficeorg/3.2/unstable r1996: backport KDE4 status bar redraw fix



------------------------------------------------------------
revno: 1996
committer: Rene Engelhard <rene@debian.org>
branch nick: debian
timestamp: Tue 2010-05-25 19:00:51 +0200
message:
  backport KDE4 status bar redraw fix
added:
  patches/kde4-redraw-status-bar.diff
modified:
  changelog
  patches/series
=== modified file 'changelog'
--- a/changelog	2010-05-25 16:53:16 +0000
+++ b/changelog	2010-05-25 17:00:51 +0000
@@ -14,6 +14,8 @@
     build failure, somehow OOo sets the wrong $MOZ_FLAVOUR for xulrunner 1.9
   * debian/patches/fix-system-mythes-for-mythes-1.2.diff: adapt build
     for mythes 1.2
+  * debian/patches/kde4-redraw-status-bar.diff: backport fix to
+    redraw the status bar when needed in KDE4 (closes: #570570)
 
   * debian/rules:
     - re-enable extensions on armel
@@ -32,7 +34,7 @@
   * debian/rules, debian/control.in: stop building libmythes-dev (now built
     again by mythes)
 
- -- Rene Engelhard <rene@debian.org>  Tue, 25 May 2010 17:30:57 +0200
+ -- Rene Engelhard <rene@debian.org>  Tue, 25 May 2010 19:00:05 +0200
 
 openoffice.org (1:3.2.0-9) unstable; urgency=low
 

=== added file 'patches/kde4-redraw-status-bar.diff'
--- a/patches/kde4-redraw-status-bar.diff	1970-01-01 00:00:00 +0000
+++ b/patches/kde4-redraw-status-bar.diff	2010-05-25 17:00:51 +0000
@@ -0,0 +1,105 @@
+diff --git a/patches/dev300/apply b/patches/dev300/apply
+index ca5db8c..113a1e9 100644
+--- openoffice.org-3.2.0/ooo-build-3-2-0-10/patches/dev300/apply
++++ openoffice.org-3.2.0/ooo-build-3-2-0-10/patches/dev300/apply
+@@ -2216,6 +2216,9 @@
+ # Fix qt/qt4 moc detection
+ qt-moc-detect.diff
+ 
++# 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
++++ openoffice.org-3.2.0/ooo-build-3-2-0-10/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,

=== modified file 'patches/series'
--- a/patches/series	2010-05-25 15:20:35 +0000
+++ b/patches/series	2010-05-25 17:00:51 +0000
@@ -14,3 +14,4 @@
 file-locking-conditional-cifs.diff
 extensions-mozilla-plugin-pc-if-libxul.diff
 fix-system-mythes-for-mythes-1.2.diff
+kde4-redraw-status-bar.diff


Reply to: