public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michael Palimaka" <kensington@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/kde:master commit in: kde-plasma/plasma-workspace/, kde-plasma/plasma-workspace/files/
Date: Wed, 15 Jun 2016 12:38:55 +0000 (UTC)	[thread overview]
Message-ID: <1465994325.c8e05ef3a5e62d8fd3fc3c267cec47ace4cf235b.kensington@gentoo> (raw)

commit:     c8e05ef3a5e62d8fd3fc3c267cec47ace4cf235b
Author:     Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
AuthorDate: Sat Jun 11 19:12:29 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 12:38:45 2016 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=c8e05ef3

kde-plasma/plasma-workspace: Drop KScreen dependency from PlasmaShell

Makes it depend on >=Qt-5.6.1 and fixes a lot of crashes.

Gentoo-bug: 569556

Package-Manager: portage-2.2.28

 .../plasma-workspace-5.6.5-drop-kscreen-dep.patch  | 562 +++++++++++++++++++++
 .../plasma-workspace-5.6.49.9999.ebuild            |   2 +-
 .../plasma-workspace/plasma-workspace-9999.ebuild  |   1 -
 3 files changed, 563 insertions(+), 2 deletions(-)

diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.6.5-drop-kscreen-dep.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.6.5-drop-kscreen-dep.patch
new file mode 100644
index 0000000..80a7bc9
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.6.5-drop-kscreen-dep.patch
@@ -0,0 +1,562 @@
+commit 816b8a0e17cc087b05ac0155757c5d4a1ee6673a
+Author: Aleix Pol <aleixpol@kde.org>
+Date:   Mon May 30 13:20:50 2016 +0200
+
+    Drop KScreen dependency from PlasmaShell
+    REVIEW: 125451
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,6 +26,4 @@ find_package(KF5XmlRpcClient REQUIRED)
+ find_package(KF5 REQUIRED COMPONENTS PlasmaQuick)
+ find_package(KF5 REQUIRED COMPONENTS SysGuard)
+-# Require KScreen >= 5.0.93 due to large API change
+-find_package(KF5 5.0.93 REQUIRED COMPONENTS Screen)
+ find_package(KF5 REQUIRED COMPONENTS Package)
+ # Baloo has a different version scheme than KF5 for now
+--- a/shell/CMakeLists.txt
++++ b/shell/CMakeLists.txt
+@@ -81,5 +81,4 @@ target_link_libraries(plasmashell
+  KF5::CoreAddons
+  KF5::DBusAddons
+- KF5::Screen
+  KF5::Declarative
+  KF5::QuickAddons
+--- a/shell/panelview.cpp
++++ b/shell/panelview.cpp
+@@ -37,8 +37,6 @@
+ 
+ #include <Plasma/Containment>
+ #include <Plasma/Package>
+-#include <KScreen/Config>
+-#include <KScreen/Output>
+ 
+ #include <KWayland/Client/plasmashell.h>
+ #include <KWayland/Client/surface.h>
+@@ -87,5 +85,6 @@ PanelView::PanelView(ShellCorona *corona, QScreen *targetScreen, QWindow *parent
+     connect(&m_unhideTimer, &QTimer::timeout,
+             this, &PanelView::restoreAutoHide);
+ 
++    m_lastScreen = targetScreen;
+     connect(screen(), SIGNAL(geometryChanged(QRect)),
+             &m_positionPaneltimer, SLOT(start()));
+@@ -102,8 +101,5 @@ PanelView::PanelView(ShellCorona *corona, QScreen *targetScreen, QWindow *parent
+     connect(&m_strutsTimer, &QTimer::timeout,
+             this, &PanelView::updateStruts);
+ 
+-    connect(m_corona->screensConfiguration()->screen().data(), &KScreen::Screen::currentSizeChanged,
+-            this, &PanelView::updateStruts);
+-
+     qmlRegisterType<QScreen>();
+     rootContext()->setContextProperty(QStringLiteral("panel"), this);
+@@ -682,19 +678,23 @@ void PanelView::showEvent(QShowEvent *event)
+ {
+     PanelShadows::self()->addWindow(this);
+     PlasmaQuick::ContainmentView::showEvent(event);
+-    integrateScreen();
+ 
+     //When the screen is set, the screen is recreated internally, so we need to
+     //set anything that depends on the winId()
+-    connect(this, &QWindow::screenChanged, this, [this](QScreen* screen) {
+-        emit screenChangedProxy(screen);
++    connect(this, &QWindow::screenChanged, this, &PanelView::moveScreen, Qt::UniqueConnection);
++    integrateScreen();
++}
+ 
+-        if (!screen)
+-            return;
+-        integrateScreen();
+-        showTemporarily();
+-        m_positionPaneltimer.start();
+-    });
++void PanelView::moveScreen(QScreen* screen)
++{
++    emit screenChangedProxy(screen);
++    m_lastScreen = screen;
++
++    if (!screen)
++        return;
++    integrateScreen();
++    showTemporarily();
++    m_positionPaneltimer.start();
+ }
+ 
+ bool PanelView::event(QEvent *e)
+@@ -904,5 +904,5 @@ void PanelView::updateStruts()
+         const QRect thisScreen = screen()->geometry();
+         // QScreen::virtualGeometry() is very unreliable (Qt 5.5)
+-        const QRect wholeScreen = QRect(QPoint(0, 0), m_corona->screensConfiguration()->screen()->currentSize());
++        const QRect wholeScreen = QRect(QPoint(0, 0), screen()->geometry().size());
+ 
+         //Extended struts against a screen edge near to another screen are really harmful, so windows maximized under the panel is a lesser pain
+--- a/shell/panelview.h
++++ b/shell/panelview.h
+@@ -136,6 +136,8 @@ public:
+     /* Shared with script/panel.cpp */
+     static KConfigGroup panelConfig(ShellCorona *corona, Plasma::Containment *containment, QScreen *screen);
+ 
++    void updateStruts();
++
+ protected:
+     void resizeEvent(QResizeEvent *ev) override;
+     void showEvent(QShowEvent *event) override;
+@@ -162,7 +164,6 @@ protected Q_SLOTS:
+      * It will be called when the configuration is requested
+      */
+     void showConfigurationInterface(Plasma::Applet *applet) override;
+-    void updateStruts();
+ 
+ private Q_SLOTS:
+     void themeChanged();
+@@ -176,5 +177,6 @@ private Q_SLOTS:
+     void screenDestroyed(QObject* screen);
+ 
+ private:
++    void moveScreen(QScreen* screen);
+     void integrateScreen();
+     bool containmentContainsPosition(const QPointF &point) const;
+@@ -198,6 +200,7 @@ private:
+     //only for the mask, not to actually paint
+     Plasma::FrameSvg *m_background;
+     KWayland::Client::PlasmaShellSurface *m_shellSurface;
++    QWeakPointer<QScreen> m_lastScreen;
+ 
+     static const int STRUTSTIMERDELAY = 200;
+ };
+--- a/shell/shellcorona.cpp
++++ b/shell/shellcorona.cpp
+@@ -44,11 +44,6 @@
+ #include <kdeclarative/qmlobject.h>
+ #include <KMessageBox>
+ 
+-#include <KScreen/Config>
+-#include <KScreen/ConfigMonitor>
+-#include <KScreen/GetConfigOperation>
+-#include <KScreen/Output>
+-
+ #include <KPackage/PackageLoader>
+ 
+ #include <KWayland/Client/connection_thread.h>
+@@ -90,7 +85,6 @@ ShellCorona::ShellCorona(QObject *parent)
+       m_addPanelAction(nullptr),
+       m_addPanelsMenu(nullptr),
+       m_interactiveConsole(nullptr),
+-      m_screenConfiguration(nullptr),
+       m_waylandPlasmaShell(nullptr)
+ {
+     setupWaylandIntegration();
+@@ -305,14 +299,7 @@ void ShellCorona::setShell(const QString &shell)
+ 
+     connect(m_activityConsumer, &KActivities::Consumer::serviceStatusChanged, this, &ShellCorona::load, Qt::UniqueConnection);
+ 
+-    connect(new KScreen::GetConfigOperation(KScreen::GetConfigOperation::NoEDID), &KScreen::GetConfigOperation::finished,
+-                this, [this](KScreen::ConfigOperation *op) {
+-                    if (op->hasError()) {
+-                        qWarning() << "Error found while setting up ShellCorona's KScreen: " << op->errorString();
+-                    }
+-                    m_screenConfiguration = qobject_cast<KScreen::GetConfigOperation*>(op)->config();
+-                    load();
+-                });
++    load();
+ }
+ 
+ QString ShellCorona::shell() const
+@@ -320,17 +307,19 @@ QString ShellCorona::shell() const
+     return m_shell;
+ }
+ 
+-bool outputLess(const KScreen::OutputPtr &a, const KScreen::OutputPtr &b)
++bool outputLess(QScreen* a, QScreen* b)
+ {
+-    return ((a->isEnabled() && !b->isEnabled())
+-         || (a->isEnabled() == b->isEnabled() && (a->isPrimary() && !b->isPrimary()))
+-         || (a->isPrimary() == b->isPrimary() && (a->pos().x() < b->pos().x()
+-         || (a->pos().x() == b->pos().x() && a->pos().y() < b->pos().y()))));
++    const QPoint aPos = a->geometry().topLeft();
++    const QPoint bPos = b->geometry().topLeft();
++
++    return (qGuiApp->primaryScreen() == a
++         || (qGuiApp->primaryScreen() != b && (aPos.x() < bPos.x()
++         || (aPos.x() == bPos.x() && aPos.y() < bPos.y()))));
+ }
+ 
+-static QList<KScreen::OutputPtr> sortOutputs(const KScreen::OutputList &outputs)
++static QList<QScreen*> sortOutputs(const QList<QScreen*> &outputs)
+ {
+-    QList<KScreen::OutputPtr> ret = outputs.values();
++    QList<QScreen*> ret = outputs;
+     std::sort(ret.begin(), ret.end(), outputLess);
+     return ret;
+ }
+@@ -338,8 +327,7 @@ static QList<KScreen::OutputPtr> sortOutputs(const KScreen::OutputList &outputs)
+ void ShellCorona::load()
+ {
+     if (m_shell.isEmpty() ||
+-        m_activityConsumer->serviceStatus() == KActivities::Consumer::Unknown ||
+-        !m_screenConfiguration) {
++        m_activityConsumer->serviceStatus() == KActivities::Consumer::Unknown) {
+         return;
+     }
+ 
+@@ -373,13 +361,11 @@ void ShellCorona::load()
+         }
+     }
+ 
+-    KScreen::ConfigMonitor::instance()->addConfig(m_screenConfiguration);
+-    //we're not going through the connectedOutputs because we need to connect to all outputs
+-    for (const KScreen::OutputPtr &output : sortOutputs(m_screenConfiguration->outputs())) {
+-        addOutput(output);
++    for (QScreen* screen : sortOutputs(qGuiApp->screens())) {
++        addOutput(screen);
+     }
+-    connect(m_screenConfiguration.data(), &KScreen::Config::outputAdded, this, &ShellCorona::addOutput);
+-    connect(m_screenConfiguration.data(), &KScreen::Config::primaryOutputChanged, this, &ShellCorona::primaryOutputChanged);
++    connect(qGuiApp, &QGuiApplication::screenAdded, this, &ShellCorona::addOutput);
++    connect(qGuiApp, &QGuiApplication::primaryScreenChanged, this, &ShellCorona::primaryOutputChanged);
+     connect(qGuiApp, &QGuiApplication::screenRemoved, this, &ShellCorona::screenRemoved);
+ 
+     if (!m_waitingPanels.isEmpty()) {
+@@ -401,13 +387,8 @@ void ShellCorona::primaryOutputChanged()
+         return;
+     }
+ 
+-    const KScreen::OutputPtr output = m_screenConfiguration->primaryOutput();
+-    if (!output) {
+-        return;
+-    }
+-
+     QScreen *oldPrimary = m_views[0]->screen();
+-    QScreen *newPrimary = outputToScreen(output);
++    QScreen *newPrimary = qGuiApp->primaryScreen();
+     if (!newPrimary || newPrimary == oldPrimary) {
+         return;
+     }
+@@ -433,7 +414,7 @@ void ShellCorona::primaryOutputChanged()
+             Q_ASSERT(oldPrimary != newPrimary);
+             Q_ASSERT(m_views[0]->screen() == oldPrimary);
+             Q_ASSERT(m_views[0]->screen() != newPrimary);
+-            Q_ASSERT(m_views[0]->geometry() == oldPrimary->geometry());
++//             Q_ASSERT(m_views[0]->geometry() == oldPrimary->geometry());
+             qDebug() << "adapting" << newPrimary->geometry() << oldPrimary->geometry();
+ 
+             view->setScreen(oldPrimary);
+@@ -442,6 +423,7 @@ void ShellCorona::primaryOutputChanged()
+     }
+ 
+     m_views[0]->setScreen(newPrimary);
++    Q_ASSERT(m_views[0]->screen()==newPrimary);
+ 
+     foreach (PanelView *panel, m_panelViews) {
+         if (panel->screen() == oldPrimary) {
+@@ -459,20 +441,15 @@ void ShellCorona::screenInvariants() const
+ {
+     Q_ASSERT(m_views.count() <= QGuiApplication::screens().count());
+     QScreen *s = m_views.isEmpty() ? nullptr : m_views[0]->screen();
+-    const KScreen::OutputPtr primaryOutput = m_screenConfiguration->primaryOutput();
+-    if (!s) {
+-        qWarning() << "error: couldn't find primary output" << primaryOutput;
+-        return;
+-    }
+ 
+-    QScreen* ks = outputToScreen(primaryOutput);
+-    Q_ASSERT(!ks || ks == s || !primaryOutput->isEnabled() || m_redundantOutputs.contains(primaryOutput));
++    QScreen* ks = qGuiApp->primaryScreen();
++    Q_ASSERT(ks == s);
+ 
+     QSet<QScreen*> screens;
+     int i = 0;
+     foreach (const DesktopView *view, m_views) {
+         QScreen *screen = view->screen();
+         Q_ASSERT(!screens.contains(screen));
+-        Q_ASSERT(!m_redundantOutputs.contains(screenToOutput(screen)));
++        Q_ASSERT(!m_redundantOutputs.contains(screen));
+ //         commented out because a different part of the code-base is responsible for this
+ //         and sometimes is not yet called here.
+@@ -492,7 +469,7 @@ void ShellCorona::screenInvariants() const
+         ++i;
+     }
+ 
+-    foreach (const KScreen::OutputPtr &out, m_redundantOutputs) {
++    foreach (QScreen* out, m_redundantOutputs) {
+         Q_ASSERT(isOutputRedundant(out));
+     }
+ 
+@@ -630,18 +607,14 @@ KActivities::Controller *ShellCorona::activityController()
+ 
+ int ShellCorona::numScreens() const
+ {
+-    //don't start loading screens until kscreen has finished initialising.
+-    if (!m_screenConfiguration) {
+-        return 0;
+-    }
+-    return m_screenConfiguration->connectedOutputs().count();
++    return qGuiApp->screens().count();
+ }
+ 
+ QRect ShellCorona::screenGeometry(int id) const
+ {
+     if (id >= m_views.count() || id < 0) {
+         qWarning() << "requesting unexisting screen" << id;
+-        QScreen *s = outputToScreen(m_screenConfiguration->primaryOutput());
++        QScreen *s = qGuiApp->primaryScreen();
+         return s ? s->geometry() : QRect();
+     }
+     return m_views[id]->geometry();
+@@ -652,7 +625,7 @@ QRegion ShellCorona::availableScreenRegion(int id) const
+     if (id >= m_views.count() || id < 0) {
+         //each screen should have a view
+         qWarning() << "requesting unexisting screen" << id;
+-        QScreen *s = outputToScreen(m_screenConfiguration->primaryOutput());
++        QScreen *s = qGuiApp->primaryScreen();
+         return s ? s->availableGeometry() : QRegion();
+     }
+     DesktopView *view = m_views[id];
+@@ -673,7 +646,7 @@ QRect ShellCorona::availableScreenRect(int id) const
+     if (id >= m_views.count() || id < 0) {
+         //each screen should have a view
+         qWarning() << "requesting unexisting screen" << id;
+-        QScreen *s = outputToScreen(m_screenConfiguration->primaryOutput());
++        QScreen *s = qGuiApp->primaryScreen();
+         return s ? s->availableGeometry() : QRect();
+     }
+ 
+@@ -793,24 +766,20 @@ void ShellCorona::screenRemoved(QScreen* screen)
+ {
+     if (DesktopView* v = desktopForScreen(screen))
+         remove(v);
+-//     addOutput(screenToOutput(screen));
+-    m_reconsiderOutputsTimer.start();
+-}
+ 
+-void ShellCorona::outputEnabledChanged()
+-{
+-    addOutput(KScreen::OutputPtr(qobject_cast<KScreen::Output *>(sender()), [](void*){}));
++    m_reconsiderOutputsTimer.start();
++    m_redundantOutputs.remove(screen);
+ }
+ 
+-bool ShellCorona::isOutputRedundant(const KScreen::OutputPtr &screen) const
++bool ShellCorona::isOutputRedundant(QScreen* screen) const
+ {
+-    Q_ASSERT(screen->currentMode());
++    Q_ASSERT(screen);
+     const QRect geometry = screen->geometry();
+ 
+     //FIXME: QScreen doesn't have any idea of "this qscreen is clone of this other one
+     //so this ultra inefficient heuristic has to stay until we have a slightly better api
+-    foreach (const KScreen::OutputPtr &s, m_screenConfiguration->connectedOutputs()) {
+-        if (screen == s || !s->isEnabled() || !s->currentMode()) {
++    foreach (QScreen* s, qGuiApp->screens()) {
++        if (screen == s) {
+             continue;
+         }
+ 
+@@ -827,71 +796,47 @@ bool ShellCorona::isOutputRedundant(const KScreen::OutputPtr &screen) const
+ 
+ void ShellCorona::reconsiderOutputs()
+ {
+-    if (!m_screenConfiguration) {
+-        return;
+-    }
+-    foreach (const KScreen::OutputPtr &out, m_screenConfiguration->connectedOutputs()) {
+-        if (!out->isEnabled() || !out->currentMode()) {
+-//             qDebug() << "skip screen" << out << desktopForScreen(outputToScreen(out));
+-            continue;
+-        }
+-
+-        if (m_redundantOutputs.contains(out)) {
+-            if (!isOutputRedundant(out)) {
++    foreach (QScreen* screen, qGuiApp->screens()) {
++        if (m_redundantOutputs.contains(screen)) {
++            if (!isOutputRedundant(screen)) {
+ //                 qDebug() << "not redundant anymore" << out;
+-                addOutput(out);
++                addOutput(screen);
+             }
+-        } else if (isOutputRedundant(out)) {
+-//             qDebug() << "new redundant screen" << out;
++        } else if (isOutputRedundant(screen)) {
++            qDebug() << "new redundant screen" << screen;
+ 
+-            if (DesktopView* v = desktopForScreen(outputToScreen(out)))
++            if (DesktopView* v = desktopForScreen(screen))
+                 remove(v);
+ 
+-            m_redundantOutputs.insert(out);
++            m_redundantOutputs.insert(screen);
+         }
+ //         else
+ //             qDebug() << "fine screen" << out;
+     }
+ 
++    updateStruts();
++
+     CHECK_SCREEN_INVARIANTS
+ }
+ 
+-void ShellCorona::addOutput(const KScreen::OutputPtr &output)
++void ShellCorona::addOutput(QScreen* screen)
+ {
+-    if (!output) {
+-        return;
+-    }
++    Q_ASSERT(screen);
+ 
+-    connect(output.data(), &KScreen::Output::isEnabledChanged,
+-            this, &ShellCorona::outputEnabledChanged,
+-            Qt::UniqueConnection);
+-    connect(output.data(), &KScreen::Output::posChanged,
+-            &m_reconsiderOutputsTimer, static_cast<void (QTimer::*)()>(&QTimer::start),
+-            Qt::UniqueConnection);
+-    connect(output.data(), &KScreen::Output::currentModeIdChanged,
++    connect(screen, &QScreen::geometryChanged,
+             &m_reconsiderOutputsTimer, static_cast<void (QTimer::*)()>(&QTimer::start),
+             Qt::UniqueConnection);
+ 
+-    if (!output->isEnabled()) {
+-        m_redundantOutputs.remove(output);
+-        m_reconsiderOutputsTimer.start();
+-        return;
+-    }
+-
+-    QScreen *screen = outputToScreen(output);
+-    Q_ASSERT(screen);
+-
+-    if (isOutputRedundant(output)) {
+-        m_redundantOutputs.insert(output);
++    if (isOutputRedundant(screen)) {
++        m_redundantOutputs.insert(screen);
+         return;
+     } else {
+-        m_redundantOutputs.remove(output);
++        m_redundantOutputs.remove(screen);
+     }
+ 
+     int insertPosition = 0;
+     foreach (DesktopView *view, m_views) {
+-        const KScreen::OutputPtr out = screenToOutput(view->screen());
+-        if (outputLess(output, out)) {
++        if (outputLess(screen, view->screen())) {
+             break;
+         }
+ 
+@@ -930,32 +875,6 @@ void ShellCorona::addOutput(const KScreen::OutputPtr &output)
+     CHECK_SCREEN_INVARIANTS
+ }
+ 
+-QScreen *ShellCorona::outputToScreen(const KScreen::OutputPtr &output) const
+-{
+-    if (!output) {
+-        return nullptr;
+-    }
+-
+-    foreach (QScreen *screen, QGuiApplication::screens()) {
+-        if (screen->name() == output->name()) {
+-            return screen;
+-        }
+-    }
+-
+-    return nullptr;
+-}
+-
+-KScreen::OutputPtr ShellCorona::screenToOutput(QScreen *screen) const
+-{
+-    foreach (const KScreen::OutputPtr &output, m_screenConfiguration->connectedOutputs()) {
+-        if (screen->name() == output->name()) {
+-            return output;
+-        }
+-    }
+-
+-    return KScreen::OutputPtr();
+-}
+-
+ QScreen* ShellCorona::insertScreen(QScreen *screen, int idx)
+ {
+     if (idx == m_views.count()) {
+@@ -1579,5 +1498,5 @@ int ShellCorona::screenForContainment(const Plasma::Containment *containment) co
+     //won't be associated to a screen
+ //     qDebug() << "ShellCorona screenForContainment: " << containment << " Last screen is " << containment->lastScreen();
+-    for (int i = 0, count = m_screenConfiguration->outputs().count(); i<count; ++i) {
++    for (int i = 0, count = qGuiApp->screens().count(); i<count; ++i) {
+         if (containment->lastScreen() == i &&
+             (containment->activity() == m_activityConsumer->currentActivity() ||
+@@ -1703,11 +1622,6 @@ void ShellCorona::desktopContainmentDestroyed(QObject *obj)
+     }
+ }
+ 
+-KScreen::ConfigPtr ShellCorona::screensConfiguration() const
+-{
+-    return m_screenConfiguration;
+-}
+-
+ void ShellCorona::showOpenGLNotCompatibleWarning()
+ {
+     static bool s_multipleInvokations = false;
+@@ -1750,6 +1664,13 @@ KWayland::Client::PlasmaShell *ShellCorona::waylandPlasmaShellInterface() const
+     return m_waylandPlasmaShell;
+ }
+ 
++void ShellCorona::updateStruts()
++{
++    foreach(PanelView* view, m_panelViews) {
++        view->updateStruts();
++    }
++}
++
+ // Desktop corona handler
+ 
+ 
+--- a/shell/shellcorona.h
++++ b/shell/shellcorona.h
+@@ -30,8 +30,6 @@
+ 
+ #include <KPackage/Package>
+ 
+-#include <KScreen/Types>
+-
+ class Activity;
+ class DesktopView;
+ class PanelView;
+@@ -99,8 +97,6 @@ public:
+ 
+     Plasma::Containment *setContainmentTypeForScreen(int screen, const QString &plugin);
+ 
+-    KScreen::ConfigPtr screensConfiguration() const;
+-
+     QScreen *screenForId(int screenId) const;
+     void remove(DesktopView *desktopView);
+ 
+@@ -182,8 +178,7 @@ private Q_SLOTS:
+     void addPanel(QAction *action);
+     void populateAddPanelsMenu();
+ 
+-    void outputEnabledChanged();
+-    void addOutput(const KScreen::OutputPtr &output);
++    void addOutput(QScreen* screen);
+     void primaryOutputChanged();
+ 
+     void activityOpened();
+@@ -197,10 +192,9 @@ private Q_SLOTS:
+     void screenRemoved(QScreen* screen);
+ 
+ private:
+-    QScreen *outputToScreen(const KScreen::OutputPtr &output) const;
+-    KScreen::OutputPtr screenToOutput(QScreen *screen) const;
++    void updateStruts();
+     QScreen *insertScreen(QScreen *screen, int idx);
+     void removeView(int idx);
+-    bool isOutputRedundant(const KScreen::OutputPtr &output) const;
++    bool isOutputRedundant(QScreen* screen) const;
+     void reconsiderOutputs();
+     QList<PanelView *> panelsForScreen(QScreen *screen) const;
+@@ -227,9 +221,8 @@ private:
+     QMenu *m_addPanelsMenu;
+     KPackage::Package m_lookAndFeelPackage;
+-    QSet<KScreen::OutputPtr> m_redundantOutputs;
++    QSet<QScreen*> m_redundantOutputs;
+     QList<KDeclarative::QmlObject *> m_alternativesObjects;
+     KDeclarative::QmlObject *m_interactiveConsole;
+ 
+-    KScreen::ConfigPtr m_screenConfiguration;
+     QTimer m_waitingPanelsTimer;
+     QTimer m_appConfigSyncTimer;

diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.6.49.9999.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.6.49.9999.ebuild
index fc5deb8..8d3ad9c 100644
--- a/kde-plasma/plasma-workspace/plasma-workspace-5.6.49.9999.ebuild
+++ b/kde-plasma/plasma-workspace/plasma-workspace-5.6.49.9999.ebuild
@@ -57,7 +57,6 @@ COMMON_DEPEND="
 	$(add_frameworks_dep solid)
 	$(add_plasma_dep kscreenlocker)
 	$(add_plasma_dep kwin)
-	$(add_plasma_dep libkscreen)
 	$(add_plasma_dep libksysguard)
 	$(add_qt_dep qtconcurrent)
 	$(add_qt_dep qtdbus)
@@ -121,6 +120,7 @@ DEPEND="${COMMON_DEPEND}
 PATCHES=(
 	"${FILESDIR}/${PN}-5.4-startkde-script.patch"
 	"${FILESDIR}/${PN}-5.6.0-rpath.patch"
+	"${FILESDIR}/${PN}-5.6.5-drop-kscreen-dep.patch"
 )
 
 RESTRICT="test"

diff --git a/kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild
index c305c64..f87837c 100644
--- a/kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild
+++ b/kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild
@@ -57,7 +57,6 @@ COMMON_DEPEND="
 	$(add_frameworks_dep solid)
 	$(add_plasma_dep kscreenlocker)
 	$(add_plasma_dep kwin)
-	$(add_plasma_dep libkscreen)
 	$(add_plasma_dep libksysguard)
 	$(add_qt_dep qtconcurrent)
 	$(add_qt_dep qtdbus)


             reply	other threads:[~2016-06-15 12:39 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-15 12:38 Michael Palimaka [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-05-29 21:13 [gentoo-commits] proj/kde:master commit in: kde-plasma/plasma-workspace/, kde-plasma/plasma-workspace/files/ Andreas Sturmlechner
2020-06-21 21:59 Andreas Sturmlechner
2019-10-29 22:01 Andreas Sturmlechner
2019-07-24 11:10 Andreas Sturmlechner
2019-07-20 20:08 Andreas Sturmlechner
2018-11-10 18:50 Andreas Sturmlechner
2018-03-29 18:00 Johannes Huber
2018-02-18 13:35 Andreas Sturmlechner
2017-08-02 23:22 Andreas Sturmlechner
2017-07-27 18:19 Andreas Sturmlechner
2016-12-31 21:45 Andreas Sturmlechner
2015-11-26 16:06 Michael Palimaka
2015-05-31 21:03 Johannes Huber
2015-02-12 22:39 Johannes Huber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1465994325.c8e05ef3a5e62d8fd3fc3c267cec47ace4cf235b.kensington@gentoo \
    --to=kensington@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox