./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: