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

Bug#859950: unblock: plasma-framework/5.28.0-2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Dear release team,

I've backported some upstream fixes in kio for stretch that I consider 
worthwhile, these are all described in the correspoding debian/changelog, here 
I'm rearranging them and adding some additional information.

User facing issues:
  * Pick "Emit toolTipMainTextChanged if it changes in response to a title
    change" (17f5a30)
    The fallback for toolTipMainText is showing the applet title.
    When the applet title changes, it may result in a change of
    toolTipMainText, so emit the toolTipMainTextChanged signal in that case.
    Patch name: Emit-toolTipMainTextChanged-if-it-changes-in-response-to-.patch

  * Pick "consider an empty panel always "applets loaded"" (6ae3a07)
    This fixes panels sometimes not showing up when reconnecting screens.
    Patch name: consider-an-empty-panel-always-applets-loaded.patch
    Related to KDE#373836

  * Pick "Fix #374127 misplacement of popups from dock wins" (6aedda9)
    Some dock windows (windows started in the panel) might trigger popups,
    this patch ensures that this is detected properly.
    Patch name: Fix-374127-misplacement-of-popups-from-dock-wins.patch
    This fixes KDE#374127

  * Pick "it must also be possible for the status to be decreased again"
   (46c87d5)
    This fixes the autohide panel being broken when some applets are
    displayed. Without this fix, the panel will not automatically re-hide.
    Patch name: it-must-also-be-possible-for-the-status-to-be-decreased-a.patch

  * Pick "set default hints when repr doesn't export Layout.*" (b99a87a)
    When the panel is resized, some applets may change the layout to use the
    extra space, if the panel is then resized back these applets need to
    recalculate the layout from the default values.
    Patch name: set-default-hints-when-repr-doesn-t-export-Layout.patch
    This fixes KDE#377153

  * Pick "correctly forward status from applets to containment" (47ec9b8)
    If an applet is hidden, without this patch the applet container would
    report being hidden as well.
    Patch name: correctly-forward-status-from-applets-to-containment.patch
    This fixes KDE#372062

Internationalization improvements:
  * Pick "Fix logic for arrow handling in RTL locales" (db15022)
    Patch name: Fix-logic-for-arrow-handling-in-RTL-locales.patch
    This fixes KDE#373749

Functionality fixes:
  * Pick "portait prop is not relevant when there is no text" (12a4709)
    This allows displaying an applet that contains no label.
    Patch name: portait-prop-is-not-relevant-when-there-is-no-text.patch
    This fixes KDE#374815

  * Add "Ref/deref DataEngines even if the metadata is invalid" (586ed85)
    Always keep loaded dataengines in memory even when the metadata is
    invalid. This avoids invalid memory accesses and plasmashell crashing for
    invalid dataengines.
    Patch name: Ref-deref-DataEngines-even-if-the-metadata-is-invalid.patch
    This is related to KDE#374531

We also had a pending change requested by Helmut Grohne to make 
plasma-framework-dev arch: any:
  * Change plasma-framework-dev to arch: any.
    Thanks to Helmut Grohne for reporting (Closes: 854063)

I've uploaded 5.28.0-2 to unstable with these changes and it built 
successfully in all the release architectures.

I'm attaching the corresponding debdiff

Happy hacking,

Please unblock package plasma-framework

unblock plasma-framework/5.28.0-2

-- System Information:
Debian Release: 9.0
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'testing'), (500, 'stable'), (50, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf

Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
diff -Nru plasma-framework-5.28.0/debian/changelog plasma-framework-5.28.0/debian/changelog
--- plasma-framework-5.28.0/debian/changelog	2016-11-18 16:07:29.000000000 +0100
+++ plasma-framework-5.28.0/debian/changelog	2017-04-08 17:14:51.000000000 +0200
@@ -1,3 +1,58 @@
+plasma-framework (5.28.0-2) unstable; urgency=medium
+
+  * Change plasma-framework-dev to arch: any.
+    Thanks to Helmut Grohne for reporting (Closes: 854063)
+  * Pick "Fix logic for arrow handling in RTL locales" (db15022)
+    Add the upstream patch as:
+     Fix-logic-for-arrow-handling-in-RTL-locales.patch
+    This fixes KDE#373749
+  * Pick "Emit toolTipMainTextChanged if it changes in response to a title change" (17f5a30)
+    The fallback for toolTipMainText is showing the applet title.
+    When the applet title changes, it may result in a change of
+    toolTipMainText.
+    Add the upstream patch as:
+     Emit-toolTipMainTextChanged-if-it-changes-in-response-to-.patch
+  * Pick "consider an empty panel always "applets loaded"" (6ae3a07)
+    This fixes panels sometimes not showing up when reconnecting screens.
+    Add upstream patch as:
+     consider-an-empty-panel-always-applets-loaded.patch
+    Related to KDE#373836
+  * Pick "Fix #374127 misplacement of popups from dock wins" (6aedda9)
+    Fix for "If a Dock window uses a mask then the popups occured from it
+    are placed far from the item that triggered them."
+    Add upstream patch as:
+     Fix-374127-misplacement-of-popups-from-dock-wins.patch
+    This fixes KDE#374127
+  * Pick "portait prop is not relevant when there is no text" (12a4709)
+    This fixes a binding loop on this property when there is no label.
+    Add upstream patch as:
+     portait-prop-is-not-relevant-when-there-is-no-text.patch
+    This fixes KDE#374815
+  * Pick "correctly forward status from applets to containment" (47ec9b8)
+    Add upstream patch as:
+     correctly-forward-status-from-applets-to-containment.patch
+    This fixes KDE#372062
+  * Pick "it must also be possible for the status to be decreased again" (46c87d5)
+    This fixes the autohide panel being broken the first time an applet like
+    kickoff opens. when it closes again, the status has to be decreased
+    again.
+    Add upstream patch as:
+     it-must-also-be-possible-for-the-status-to-be-decreased-a.patch
+  * Pick "set default hints when repr doesn't export Layout.*" (b99a87a)
+    Add upstream patch as:
+     set-default-hints-when-repr-doesn-t-export-Layout.patch
+    This fixes KDE#377153
+  * Add "Ref/deref DataEngines even if the metadata is invalid" (586ed85)
+    Just because the metadata is invalid doesn't mean the DataEngine
+    actually failed to load, we're still returning a valid object, and as
+    seen with the MPris DataEngine bug. It's important that we still release
+    it properly.
+    Add upstream patch as:
+     Ref-deref-DataEngines-even-if-the-metadata-is-invalid.patch
+    This is related to KDE#374531
+
+ -- Maximiliano Curia <maxy@debian.org>  Sat, 08 Apr 2017 17:14:51 +0200
+
 plasma-framework (5.28.0-1) unstable; urgency=medium
 
   [ Automatic packaging ]
diff -Nru plasma-framework-5.28.0/debian/control plasma-framework-5.28.0/debian/control
--- plasma-framework-5.28.0/debian/control	2016-11-18 16:07:29.000000000 +0100
+++ plasma-framework-5.28.0/debian/control	2017-04-08 17:14:51.000000000 +0200
@@ -75,7 +75,7 @@
 
 Package: plasma-framework-dev
 Depends: libkf5plasma-dev, ${misc:Depends}
-Architecture: all
+Architecture: any
 Priority: extra
 Section: oldlibs
 Description: transitional dummy package
diff -Nru plasma-framework-5.28.0/debian/patches/consider-an-empty-panel-always-applets-loaded.patch plasma-framework-5.28.0/debian/patches/consider-an-empty-panel-always-applets-loaded.patch
--- plasma-framework-5.28.0/debian/patches/consider-an-empty-panel-always-applets-loaded.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/consider-an-empty-panel-always-applets-loaded.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,28 @@
+From: Marco Martin <notmart@gmail.com>
+Date: Wed, 21 Dec 2016 18:10:04 +0100
+Subject: consider an empty panel always "applets loaded"
+
+if a panel doesn't ahve applets, it can't have a "currently
+loading" as the status of its applets.
+this fixes panels sometimes not showing up when reconnecting screens
+
+CCBUG:373836
+---
+ src/plasma/containment.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/plasma/containment.cpp b/src/plasma/containment.cpp
+index 133220a6a..b9c8c8b56 100644
+--- a/src/plasma/containment.cpp
++++ b/src/plasma/containment.cpp
+@@ -297,6 +297,10 @@ void Containment::restoreContents(KConfigGroup &group)
+         d->createApplet(plugin, QVariantList(), appId);
+     }
+ 
++    //if there are no applets, none of them is "loading"
++    if (Containment::applets().isEmpty()) {
++        d->appletsUiReady = true;
++    }
+     foreach (Applet *applet, Containment::applets()) {
+         if (!applet->pluginMetaData().isValid()) {
+             applet->updateConstraints(Plasma::Types::UiReadyConstraint);
diff -Nru plasma-framework-5.28.0/debian/patches/correctly-forward-status-from-applets-to-containment.patch plasma-framework-5.28.0/debian/patches/correctly-forward-status-from-applets-to-containment.patch
--- plasma-framework-5.28.0/debian/patches/correctly-forward-status-from-applets-to-containment.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/correctly-forward-status-from-applets-to-containment.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,56 @@
+From: Marco Martin <notmart@gmail.com>
+Date: Tue, 17 Jan 2017 17:23:07 +0100
+Subject: correctly forward status from applets to containment
+
+Summary:
+unfortunately hiddenvisibility is the "biggest" status
+that makes computing the proper status tricky.
+if an applet in the containment is hidden, we must not mark as
+hidden the whole containment, because it's as if hidden was
+(as it should be) the smallest in the enum
+
+BUG:372062
+
+Test Plan: touchpad plasmoid no longer hides the systray
+
+Reviewers: #plasma, davidedmundson
+
+Reviewed By: #plasma, davidedmundson
+
+Subscribers: plasma-devel, #frameworks
+
+Tags: #plasma, #frameworks
+
+Differential Revision: https://phabricator.kde.org/D4174
+---
+ src/plasma/plasma.h                  | 1 +
+ src/plasma/private/containment_p.cpp | 4 +++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/plasma/plasma.h b/src/plasma/plasma.h
+index 523e32915..eb34aee3f 100644
+--- a/src/plasma/plasma.h
++++ b/src/plasma/plasma.h
+@@ -255,6 +255,7 @@ public:
+         NeedsAttentionStatus = 3, /**< The Item needs attention **/
+         RequiresAttentionStatus = 4, /**< The Item needs persistent attention **/
+         AcceptingInputStatus = 5, /**< The Item is accepting input **/
++        //FIXME KF6: this should be the smallest status
+         HiddenStatus = 6    /**< The Item will be hidden totally  **/
+     };
+     Q_ENUMS(ItemStatus)
+diff --git a/src/plasma/private/containment_p.cpp b/src/plasma/private/containment_p.cpp
+index 061176b95..646c80021 100644
+--- a/src/plasma/private/containment_p.cpp
++++ b/src/plasma/private/containment_p.cpp
+@@ -123,7 +123,9 @@ void ContainmentPrivate::checkStatus(Plasma::Types::ItemStatus appletStatus)
+         }
+     }
+ 
+-    q->setStatus(appletStatus);
++    if (appletStatus > q->status() && appletStatus != Plasma::Types::HiddenStatus) {
++        q->setStatus(appletStatus);
++    }
+ }
+ 
+ void ContainmentPrivate::triggerShowAddWidgets()
diff -Nru plasma-framework-5.28.0/debian/patches/Emit-toolTipMainTextChanged-if-it-changes-in-response-to-.patch plasma-framework-5.28.0/debian/patches/Emit-toolTipMainTextChanged-if-it-changes-in-response-to-.patch
--- plasma-framework-5.28.0/debian/patches/Emit-toolTipMainTextChanged-if-it-changes-in-response-to-.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/Emit-toolTipMainTextChanged-if-it-changes-in-response-to-.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,40 @@
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Tue, 20 Dec 2016 12:09:52 +0000
+Subject: Emit toolTipMainTextChanged if it changes in response to a title
+ change
+
+Summary:
+The fallback for toolTipMainText is showing the applet title.
+
+When the applet title changes, it may result in a change of
+toolTipMainText.
+
+Reviewers: #plasma
+
+Subscribers: plasma-devel
+
+Tags: #plasma
+
+Differential Revision: https://phabricator.kde.org/D3760
+---
+ src/scriptengines/qml/plasmoid/appletinterface.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/scriptengines/qml/plasmoid/appletinterface.cpp b/src/scriptengines/qml/plasmoid/appletinterface.cpp
+index f24bc5152..cfd411010 100644
+--- a/src/scriptengines/qml/plasmoid/appletinterface.cpp
++++ b/src/scriptengines/qml/plasmoid/appletinterface.cpp
+@@ -82,6 +82,13 @@ AppletInterface::AppletInterface(DeclarativeAppletScript *script, const QVariant
+     connect(applet(), &Plasma::Applet::titleChanged,
+             this, &AppletInterface::titleChanged);
+ 
++    connect(applet(), &Plasma::Applet::titleChanged,
++            this, [this]() {
++                if (m_toolTipMainText.isNull()) {
++                    emit toolTipMainTextChanged();
++                }
++            });
++
+     connect(applet(), &Plasma::Applet::iconChanged,
+             this, &AppletInterface::iconChanged);
+ 
diff -Nru plasma-framework-5.28.0/debian/patches/Fix-374127-misplacement-of-popups-from-dock-wins.patch plasma-framework-5.28.0/debian/patches/Fix-374127-misplacement-of-popups-from-dock-wins.patch
--- plasma-framework-5.28.0/debian/patches/Fix-374127-misplacement-of-popups-from-dock-wins.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/Fix-374127-misplacement-of-popups-from-dock-wins.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,101 @@
+From: Michail Vourlakos <mvourlakos@gmail.com>
+Date: Sun, 25 Dec 2016 13:15:35 +0200
+Subject: Fix #374127 misplacement of popups from dock wins
+
+--the dialogs shown from dock type windows when
+the dock uses masking are placed far from the
+the element that triggered them. This patch
+fixes this bug and provide also an auto test.
+---
+ autotests/dialognativetest.cpp | 19 +++++++++++++++++++
+ autotests/dialognativetest.h   |  2 ++
+ src/plasmaquick/dialog.cpp     |  3 ++-
+ 3 files changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/autotests/dialognativetest.cpp b/autotests/dialognativetest.cpp
+index 9c9646c06..6378e1e6b 100644
+--- a/autotests/dialognativetest.cpp
++++ b/autotests/dialognativetest.cpp
+@@ -38,14 +38,24 @@ void DialogNativeTest::initTestCase()
+     m_panel2->setGeometry(100, 0, 50, 50);
+     m_panel2->setFlags(Qt::FramelessWindowHint|Qt::WindowDoesNotAcceptFocus);
+ 
++    m_panel3 = new QQuickView;
++    m_panel3->setGeometry(200, 0, 50, 50);
++    m_panel3->setFlags(Qt::FramelessWindowHint|Qt::WindowDoesNotAcceptFocus);
++
+     m_content = new QQuickItem;
+     m_content->setWidth(100);
+     m_content->setHeight(100);
+     m_dialog->setMainItem(m_content);
+ 
++    m_content2 = new QQuickItem(m_panel3->contentItem());
++    m_content2->setWidth(50);
++    m_content2->setHeight(25);
++
+     m_panel->show();
+     m_panel2->show();
++    m_panel3->show();
+     KWindowSystem::setType(m_panel->winId(), NET::Dock);
++    KWindowSystem::setType(m_panel3->winId(), NET::Dock);
+     m_dialog->setVisualParent(m_panel->contentItem());
+     m_dialog->show();
+ }
+@@ -55,6 +65,7 @@ void DialogNativeTest::cleanupTestCase()
+     delete m_dialog;
+     delete m_panel;
+     delete m_panel2;
++    delete m_panel3;
+ 
+     m_cacheDir.removeRecursively();
+ }
+@@ -68,6 +79,9 @@ void DialogNativeTest::size()
+     QCOMPARE(m_dialog->width(), 112);
+     QCOMPARE(m_dialog->height(), 112);
+ 
++    QCOMPARE(m_content2->width(), (qreal)50);
++    QCOMPARE(m_content2->height(), (qreal)25);
++
+     QCOMPARE(m_dialog->margins()->property("left").value<qreal>(), (qreal)6.0);
+     QCOMPARE(m_dialog->margins()->property("top").value<qreal>(), (qreal)6.0);
+     QCOMPARE(m_dialog->margins()->property("right").value<qreal>(), (qreal)6.0);
+@@ -85,6 +99,11 @@ void DialogNativeTest::position()
+     m_dialog->setVisualParent(m_panel2->contentItem());
+     QCOMPARE(m_dialog->x(), 69);
+     QCOMPARE(m_dialog->y(), 49);
++
++    m_panel3->setMask(QRect(0, 0, 50, 25));
++    m_dialog->setVisualParent(m_content2);
++    QCOMPARE(m_dialog->x(), 169);
++    QCOMPARE(m_dialog->y(), 24);
+ #endif
+ }
+ 
+diff --git a/autotests/dialognativetest.h b/autotests/dialognativetest.h
+index d696cad80..780bc8eec 100644
+--- a/autotests/dialognativetest.h
++++ b/autotests/dialognativetest.h
+@@ -42,7 +42,9 @@ private Q_SLOTS:
+ private:
+     QQuickView *m_panel;
+     QQuickView *m_panel2;
++    QQuickView *m_panel3;
+     QQuickItem *m_content;
++    QQuickItem *m_content2;
+     PlasmaQuick::Dialog *m_dialog;
+     QDir m_cacheDir;
+ };
+diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp
+index 6e2041aa7..7a97efe4e 100644
+--- a/src/plasmaquick/dialog.cpp
++++ b/src/plasmaquick/dialog.cpp
+@@ -873,7 +873,8 @@ QPoint Dialog::popupPosition(QQuickItem *item, const QSize &size)
+ 
+     //if the item is in a dock or in a window that ignores WM we want to position the popups outside of the dock
+     const KWindowInfo winInfo = KWindowSystem::windowInfo(item->window()->winId(), NET::WMWindowType);
+-    const bool outsideParentWindow = (winInfo.windowType(NET::AllTypesMask) == NET::Dock) || (item->window()->flags() & Qt::X11BypassWindowManagerHint);
++    const bool outsideParentWindow = ((winInfo.windowType(NET::AllTypesMask) == NET::Dock) || (item->window()->flags() & Qt::X11BypassWindowManagerHint))
++            && item->window()->mask().isNull();
+ 
+     QRect parentGeometryBounds;
+     if (outsideParentWindow) {
diff -Nru plasma-framework-5.28.0/debian/patches/Fix-logic-for-arrow-handling-in-RTL-locales.patch plasma-framework-5.28.0/debian/patches/Fix-logic-for-arrow-handling-in-RTL-locales.patch
--- plasma-framework-5.28.0/debian/patches/Fix-logic-for-arrow-handling-in-RTL-locales.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/Fix-logic-for-arrow-handling-in-RTL-locales.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,42 @@
+From: Eike Hein <hein@kde.org>
+Date: Sun, 18 Dec 2016 08:30:46 +0900
+Subject: Fix logic for arrow handling in RTL locales.
+
+Summary: BUG:373749
+
+Reviewers: #plasma, mart
+
+Subscribers: plasma-devel
+
+Tags: #plasma
+
+Differential Revision: https://phabricator.kde.org/D3718
+---
+ .../plasmacomponents/qml/private/TabBarLayout.qml          | 14 ++++++--------
+ 1 file changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/src/declarativeimports/plasmacomponents/qml/private/TabBarLayout.qml b/src/declarativeimports/plasmacomponents/qml/private/TabBarLayout.qml
+index 49f08a7b2..0d75ccfe5 100644
+--- a/src/declarativeimports/plasmacomponents/qml/private/TabBarLayout.qml
++++ b/src/declarativeimports/plasmacomponents/qml/private/TabBarLayout.qml
+@@ -74,14 +74,12 @@ Item {
+     onHeightChanged: layoutTimer.restart()
+ 
+     Keys.onPressed: {
+-        if (event.key == Qt.Key_Right || event.key == Qt.Key_Left) {
+-            if (event.key == Qt.Key_Right || priv.mirrored) {
+-                priv.goNextTab()
+-                event.accepted = true
+-            } else if (event.key == Qt.Key_Left || priv.mirrored) {
+-                priv.goPreviousTab()
+-                event.accepted = true
+-            }
++        if (event.key == Qt.Key_Right) {
++            (priv.mirrored ? priv.goPreviousTab : priv.goNextTab)();
++            event.accepted = true
++        } else if (event.key == Qt.Key_Left || priv.mirrored) {
++            (priv.mirrored ? priv.goNextTab : priv.goPreviousTab)();
++            event.accepted = true
+         }
+     }
+ 
diff -Nru plasma-framework-5.28.0/debian/patches/it-must-also-be-possible-for-the-status-to-be-decreased-a.patch plasma-framework-5.28.0/debian/patches/it-must-also-be-possible-for-the-status-to-be-decreased-a.patch
--- plasma-framework-5.28.0/debian/patches/it-must-also-be-possible-for-the-status-to-be-decreased-a.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/it-must-also-be-possible-for-the-status-to-be-decreased-a.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,24 @@
+From: Marco Martin <notmart@gmail.com>
+Date: Thu, 19 Jan 2017 14:25:16 +0100
+Subject: it must also be possible for the status to be decreased again
+
+this fixes the autohide panel being broken the first time an applet
+like kickoff opens. when it closes again, the status has to be
+decreased again
+---
+ src/plasma/private/containment_p.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plasma/private/containment_p.cpp b/src/plasma/private/containment_p.cpp
+index 646c80021..8ba9356a2 100644
+--- a/src/plasma/private/containment_p.cpp
++++ b/src/plasma/private/containment_p.cpp
+@@ -123,7 +123,7 @@ void ContainmentPrivate::checkStatus(Plasma::Types::ItemStatus appletStatus)
+         }
+     }
+ 
+-    if (appletStatus > q->status() && appletStatus != Plasma::Types::HiddenStatus) {
++    if (appletStatus != Plasma::Types::HiddenStatus) {
+         q->setStatus(appletStatus);
+     }
+ }
diff -Nru plasma-framework-5.28.0/debian/patches/portait-prop-is-not-relevant-when-there-is-no-text.patch plasma-framework-5.28.0/debian/patches/portait-prop-is-not-relevant-when-there-is-no-text.patch
--- plasma-framework-5.28.0/debian/patches/portait-prop-is-not-relevant-when-there-is-no-text.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/portait-prop-is-not-relevant-when-there-is-no-text.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,26 @@
+From: Marco Martin <notmart@gmail.com>
+Date: Mon, 9 Jan 2017 16:29:32 +0100
+Subject: portait prop is not relevant when there is no text
+
+this fixes a binding loop on this property
+when there is no label
+
+BUG:374815
+Change-Id: I71616a6c86cd4acdaff47f141ed5c676358db496
+---
+ src/declarativeimports/plasmacomponents/qml/TabButton.qml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/declarativeimports/plasmacomponents/qml/TabButton.qml b/src/declarativeimports/plasmacomponents/qml/TabButton.qml
+index 748354582..ff1af52ad 100644
+--- a/src/declarativeimports/plasmacomponents/qml/TabButton.qml
++++ b/src/declarativeimports/plasmacomponents/qml/TabButton.qml
+@@ -122,7 +122,7 @@ Item {
+ 
+         property Item tabBar: Utils.findParent(root, "currentTab")
+         property Item tabGroup: Utils.findParent(tab, "currentTab")
+-        property bool portrait: (root != undefined) && (label != undefined) && root.height >= label.paintedHeight + units.iconSizes.small
++        property bool portrait: (root != undefined) && (label != undefined) &&  label.text != "" && root.height >= label.paintedHeight + units.iconSizes.small
+ 
+         function click() {
+             root.clicked()
diff -Nru plasma-framework-5.28.0/debian/patches/Ref-deref-DataEngines-even-if-the-metadata-is-invalid.patch plasma-framework-5.28.0/debian/patches/Ref-deref-DataEngines-even-if-the-metadata-is-invalid.patch
--- plasma-framework-5.28.0/debian/patches/Ref-deref-DataEngines-even-if-the-metadata-is-invalid.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/Ref-deref-DataEngines-even-if-the-metadata-is-invalid.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,64 @@
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Mon, 6 Mar 2017 00:12:27 +0000
+Subject: Ref/deref DataEngines even if the metadata is invalid
+
+Summary:
+Just because the metadata is invalid doesn't mean the DataEngine
+actually failed to load, we're still returning a valid object, and as
+seen with the MPris DataEngine bug. It's important that we still release
+it properly.
+
+It looks like this was designed to make sure you don't delete the null
+data engine multiple times, but that shouldn't cause an issue here.
+
+Test Plan: #plasma
+
+Reviewers: #plasma, mart
+
+Reviewed By: mart
+
+Subscribers: plasma-devel, #frameworks
+
+Tags: #plasma, #frameworks
+
+Differential Revision: https://phabricator.kde.org/D4556
+---
+ src/plasma/dataengine.cpp         | 2 --
+ src/plasma/dataengineconsumer.cpp | 7 +------
+ 2 files changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/src/plasma/dataengine.cpp b/src/plasma/dataengine.cpp
+index 1c3efb656..dc03b13bd 100644
+--- a/src/plasma/dataengine.cpp
++++ b/src/plasma/dataengine.cpp
+@@ -425,8 +425,6 @@ DataEnginePrivate::DataEnginePrivate(DataEngine *e, const KPluginInfo &info, con
+     if (dataEngineDescription.isValid()) {
+         valid = true;
+         e->setObjectName(dataEngineDescription.name());
+-    } else {
+-        e->setObjectName(QStringLiteral("NullEngine"));
+     }
+ 
+     if (dataEngineDescription.isValid()) {
+diff --git a/src/plasma/dataengineconsumer.cpp b/src/plasma/dataengineconsumer.cpp
+index f734a9cca..b761aa076 100644
+--- a/src/plasma/dataengineconsumer.cpp
++++ b/src/plasma/dataengineconsumer.cpp
+@@ -95,16 +95,11 @@ DataEngine *DataEngineConsumer::dataEngine(const QString &name)
+         DataEngine *engine = DataEngineManager::self()->engine(name);
+         if (engine->isValid()) {
+             return engine;
+-        } else {
+-            d->loadedEngines.remove(name);
+         }
+     }
+ 
+     DataEngine *engine = DataEngineManager::self()->loadEngine(name);
+-    if (engine->isValid()) {
+-        d->loadedEngines.insert(name);
+-    }
+-
++    d->loadedEngines.insert(name);
+     return engine;
+ }
+ 
diff -Nru plasma-framework-5.28.0/debian/patches/series plasma-framework-5.28.0/debian/patches/series
--- plasma-framework-5.28.0/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/series	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,9 @@
+Fix-logic-for-arrow-handling-in-RTL-locales.patch
+Emit-toolTipMainTextChanged-if-it-changes-in-response-to-.patch
+consider-an-empty-panel-always-applets-loaded.patch
+Fix-374127-misplacement-of-popups-from-dock-wins.patch
+portait-prop-is-not-relevant-when-there-is-no-text.patch
+correctly-forward-status-from-applets-to-containment.patch
+it-must-also-be-possible-for-the-status-to-be-decreased-a.patch
+set-default-hints-when-repr-doesn-t-export-Layout.patch
+Ref-deref-DataEngines-even-if-the-metadata-is-invalid.patch
diff -Nru plasma-framework-5.28.0/debian/patches/set-default-hints-when-repr-doesn-t-export-Layout.patch plasma-framework-5.28.0/debian/patches/set-default-hints-when-repr-doesn-t-export-Layout.patch
--- plasma-framework-5.28.0/debian/patches/set-default-hints-when-repr-doesn-t-export-Layout.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-framework-5.28.0/debian/patches/set-default-hints-when-repr-doesn-t-export-Layout.patch	2017-04-08 17:14:51.000000000 +0200
@@ -0,0 +1,38 @@
+From: Marco Martin <notmart@gmail.com>
+Date: Fri, 3 Mar 2017 17:52:41 +0100
+Subject: set default hints when repr doesn't export Layout.*
+
+when we go from full to compact repr, if the compact
+doesn't export a Layout attached property, the hints shouldn't
+remain those of the full repr, so reset to default values
+
+BUG:377153
+Reviewed-by:Eike Hein
+---
+ src/plasmaquick/appletquickitem.cpp | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/plasmaquick/appletquickitem.cpp b/src/plasmaquick/appletquickitem.cpp
+index e2fd40ece..30a6f321d 100644
+--- a/src/plasmaquick/appletquickitem.cpp
++++ b/src/plasmaquick/appletquickitem.cpp
+@@ -92,7 +92,19 @@ void AppletQuickItemPrivate::connectLayoutAttached(QObject *item)
+         }
+     }
+ 
++    //if the compact repr doesn't export a Layout.* attached property,
++    //reset our own with default values
+     if (!layout) {
++        if (ownLayout) {
++            ownLayout->setProperty("minimumWidth", 0);
++            ownLayout->setProperty("minimumHeight", 0);
++            ownLayout->setProperty("preferredWidth", -1);
++            ownLayout->setProperty("preferredHeight", -1);
++            ownLayout->setProperty("maximumWidth", std::numeric_limits<qreal>::infinity());
++            ownLayout->setProperty("maximumHeight", std::numeric_limits<qreal>::infinity());
++            ownLayout->setProperty("fillWidth", false);
++            ownLayout->setProperty("fillHeight", false);
++        }
+         return;
+     }
+ 

Reply to: