Hello community,

here is the log from the commit of package kdebase4-workspace for openSUSE:12.3 
checked in at 2013-02-14 21:02:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3/kdebase4-workspace (Old)
 and      /work/SRC/openSUSE:12.3/.kdebase4-workspace.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdebase4-workspace", Maintainer is "kde-maintain...@suse.de"

Changes:
--------
--- /work/SRC/openSUSE:12.3/kdebase4-workspace/kdebase4-workspace.changes       
2013-02-13 12:09:31.000000000 +0100
+++ /work/SRC/openSUSE:12.3/.kdebase4-workspace.new/kdebase4-workspace.changes  
2013-02-14 21:02:46.000000000 +0100
@@ -1,0 +2,5 @@
+Wed Feb 13 22:31:49 UTC 2013 - hrvoje.sen...@gmail.com
+
+- Added fix-plasma-theme-workaround-tabbox.patch, fixes kde#315064
+
+-------------------------------------------------------------------

New:
----
  fix-plasma-theme-workaround-tabbox.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kdebase4-workspace.spec ++++++
--- /var/tmp/diff_new_pack.Q2tAJ6/_old  2013-02-14 21:02:47.000000000 +0100
+++ /var/tmp/diff_new_pack.Q2tAJ6/_new  2013-02-14 21:02:47.000000000 +0100
@@ -139,6 +139,8 @@
 Patch405:       pager.diff
 # PATCH-FIx-OPENSUSE plasma_expire_suse_paste.diff (expire pastes via pastebin)
 Patch406:       plasma_expire_suse_paste.diff
+# PATCH-FIX-UPSTREAM fix-plasma-theme-workaround-tabbox.patch  -- Fix tabbox 
drawing (exposed in default openSUSE 12.3 plasma theme)
+Patch407:       fix-plasma-theme-workaround-tabbox.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if %suse_version > 1200
 Requires:       %{name}-branding = %{version}
@@ -388,6 +390,7 @@
 %patch404 -p1
 %patch405 -p1
 %patch406 -p1
+%patch407 -p1
 cp %{SOURCE3} kwin/effects/cube/data/cubecap.png
 
 %build

++++++ fix-plasma-theme-workaround-tabbox.patch ++++++
>From 1f414ec2c5a98ffd9ed83713a8c89d4d337df7e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <thomas.luebk...@gmail.com>
Date: Wed, 13 Feb 2013 22:14:29 +0100
Subject: [PATCH] fix plasma theme workaround (tabbox)

BUG: 315064
FIXED-IN: 4.10.1
---
 kwin/tabbox/declarative.cpp         | 31 ++++++++++++++++++++-----------
 kwin/tabbox/qml/ShadowedSvgItem.qml | 15 ++++++++++++---
 2 files changed, 32 insertions(+), 14 deletions(-)

diff --git a/kwin/tabbox/declarative.cpp b/kwin/tabbox/declarative.cpp
index 5beaf1b..61e377d 100644
--- a/kwin/tabbox/declarative.cpp
+++ b/kwin/tabbox/declarative.cpp
@@ -102,17 +102,20 @@ QPixmap ImageProvider::requestPixmap(const QString &id, 
QSize *size, const QSize
     return icon;
 }
 
-static bool compositing()
+// WARNING: this code exists to cover a bug in Qt which prevents plasma from 
detecting the state change
+// of the compositor through KWindowSystem.
+// once plasma uses (again) a KSelectionWatcher or Qt is fixed in this regard, 
the code can go.
+static QString plasmaThemeVariant()
 {
 #ifndef TABBOX_KCM
     if (!Workspace::self()->compositing() || !effects) {
-        return false;
+        return 
Plasma::Theme::defaultTheme()->currentThemeHasImage("opaque/dialogs/background")
 ? QLatin1String("opaque/") : QLatin1String("");
     }
-    if (!static_cast<EffectsHandlerImpl*>(effects)->provides(Effect::Blur)) {
-        return false;
+    if (static_cast<EffectsHandlerImpl*>(effects)->provides(Effect::Blur)) {
+        return 
Plasma::Theme::defaultTheme()->currentThemeHasImage("translucent/dialogs/background")
 ? QLatin1String("translucent/") : QLatin1String("");
     }
 #endif
-    return 
Plasma::Theme::defaultTheme()->currentThemeHasImage("translucent/dialogs/background");
+    return QLatin1String("");
 }
 
 DeclarativeView::DeclarativeView(QAbstractItemModel *model, 
TabBoxConfig::TabBoxMode mode, QWidget *parent)
@@ -145,7 +148,7 @@ DeclarativeView::DeclarativeView(QAbstractItemModel *model, 
TabBoxConfig::TabBox
     kdeclarative.setupBindings();
     qmlRegisterType<ThumbnailItem>("org.kde.kwin", 0, 1, "ThumbnailItem");
     rootContext()->setContextProperty("viewId", 
static_cast<qulonglong>(winId()));
-    rootContext()->setContextProperty("compositing", compositing());
+    rootContext()->setContextProperty("plasmaThemeVariant", 
plasmaThemeVariant());
     if (m_mode == TabBoxConfig::ClientTabBox) {
         rootContext()->setContextProperty("clientModel", model);
     } else if (m_mode == TabBoxConfig::DesktopTabBox) {
@@ -188,8 +191,10 @@ void DeclarativeView::showEvent(QShowEvent *event)
         item->setProperty("currentIndex", tabBox->first().row());
         connect(item, SIGNAL(currentIndexChanged(int)), 
SLOT(currentIndexChanged(int)));
     }
-    rootContext()->setContextProperty("compositing", compositing());
+    rootContext()->setContextProperty("plasmaThemeVariant", 
plasmaThemeVariant());
     slotUpdateGeometry();
+    QResizeEvent re(size(), size()); // to set mask and blurring.
+    resizeEvent(&re);
     QGraphicsView::showEvent(event);
 }
 
@@ -210,11 +215,15 @@ void DeclarativeView::resizeEvent(QResizeEvent *event)
             m_frame->setImagePath(maskImagePath);
             m_frame->resizeFrame(QSizeF(maskWidth, maskHeight));
             QRegion mask = m_frame->mask().translated(maskLeftMargin, 
maskTopMargin);
-            if (compositing()) {
-                // blur background
-                Plasma::WindowEffects::enableBlurBehind(winId(), true, mask);
+#ifndef TABBOX_KCM
+            // notice: this covers an issue with plasma detecting the 
compositing state. see plasmaThemeVariant()
+            if (Workspace::self()->compositing() && effects) {
+                // blur background?!
+                Plasma::WindowEffects::enableBlurBehind(winId(), 
static_cast<EffectsHandlerImpl*>(effects)->provides(Effect::Blur), mask);
                 clearMask();
-            } else {
+            } else 
+#endif
+            {
                 // do not trim to mask with compositing enabled, otherwise 
shadows are cropped
                 setMask(mask);
             }
diff --git a/kwin/tabbox/qml/ShadowedSvgItem.qml 
b/kwin/tabbox/qml/ShadowedSvgItem.qml
index 8bf76c8..9ebe39f 100644
--- a/kwin/tabbox/qml/ShadowedSvgItem.qml
+++ b/kwin/tabbox/qml/ShadowedSvgItem.qml
@@ -32,16 +32,25 @@ Item {
     property int centerLeftMargin: shadow.margins.left
     property alias maskImagePath: shadow.imagePath
 
+    PlasmaCore.FrameSvg {
+        id: themeInfo
+        imagePath: plasmaThemeVariant + "dialogs/background"
+        // NOTICE: the followin plasmaThemeVariant access causes necessary 
re-evaluation!
+        property bool hasNewShadows: plasmaThemeVariant != "opaque/" && 
hasElementPrefix("shadow")
+    }
+
     PlasmaCore.FrameSvgItem {
         id: shadow
-        imagePath: (compositing ? "translucent" : "opaque") + 
"/dialogs/background"
-        prefix: "shadow"
+        prefix: themeInfo.hasNewShadows ? "shadow" : ""
+
+        imagePath: plasmaThemeVariant + "dialogs/background"
         anchors.fill: parent
+        visible: true
 
         PlasmaCore.FrameSvgItem {
             id: background
             imagePath: shadow.imagePath
-            visible: false
+            visible: themeInfo.hasNewShadows
             anchors {
                 fill: parent
                 leftMargin: shadow.margins.left
-- 
1.8.1.2




-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to