commit:     cd1325eb7f1d815a5853b7de8ee6392974378f04
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 24 19:38:41 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 24 23:16:41 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd1325eb

x11-themes/qtcurve: Drop 1.9.0_rc1-r2

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 x11-themes/qtcurve/Manifest                        |   1 -
 .../files/qtcurve-1.9.0-rare_crash_hang_fix.patch  | 238 ---------------------
 x11-themes/qtcurve/qtcurve-1.9.0_rc1-r2.ebuild     |  88 --------
 3 files changed, 327 deletions(-)

diff --git a/x11-themes/qtcurve/Manifest b/x11-themes/qtcurve/Manifest
index 122befb8381..69b27ecedfc 100644
--- a/x11-themes/qtcurve/Manifest
+++ b/x11-themes/qtcurve/Manifest
@@ -1,2 +1 @@
 DIST qtcurve-1.9.0.tar.gz 801675 BLAKE2B 
ed8d490b6e00e527f7da62c1fb676072ed3d75e50e14ae57e7807e7a9bd37f10a7b6b29e062ac05e02507c19be13ac3d003ea240fd00cff27bc74938a216a3e0
 SHA512 
a158f0880a2dc657e5f14366e046b18f0fe9d9983d1e1b243417f26987f6e69612c83f8b69293ae9036361adf67833b296564750f0f4cc0f405604f628dbff66
-DIST qtcurve-1.9.0_rc1.tar.gz 800845 BLAKE2B 
a63049086d967bb755d4f071ac4a5058a679d4d2914855b98e82763cbd9a22cdc6d75afb6ddb15b7e24a55e8e248b8df0a5cb517fc9be7ef3b07881448c2b5be
 SHA512 
c586c5c922dcc2a374bf9e3b3abb3e64dcb6299531615fe980b8eba7d2e5a68038ec2eafae24a0c0d4782b2e08984534723bb713386d5119fa8016b9fbdd436e

diff --git a/x11-themes/qtcurve/files/qtcurve-1.9.0-rare_crash_hang_fix.patch 
b/x11-themes/qtcurve/files/qtcurve-1.9.0-rare_crash_hang_fix.patch
deleted file mode 100644
index 921001f4454..00000000000
--- a/x11-themes/qtcurve/files/qtcurve-1.9.0-rare_crash_hang_fix.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-From b7da5ec7e2965332e3922dfb03a3d100aa203b94 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ren=C3=A9=20J=2EV=2E=20Bertin?= <[email protected]>
-Date: Fri, 8 Dec 2017 10:10:47 +0100
-Subject: address a rare crash/hang on exit
-
-Under rare circumstances Qt would attempt to deliver signals to stale
-style instances, or leave orphaned style instances after unloading the
-plugin. This is addressed by disconnecting the (currently only) signal
-originating from an external application and the plugin now ensures it
-leaves no orphaned style instances behind.
-Also, moves the code handling pre-exit disconnection to a subclass.
-
-Differential Revision: https://phabricator.kde.org/D9229
----
- qt5/style/qtcurve.cpp        | 72 ++++++++++++++++++++++++++++++++------------
- qt5/style/qtcurve.h          |  5 +--
- qt5/style/qtcurve_plugin.cpp | 15 ++++++---
- 3 files changed, 67 insertions(+), 25 deletions(-)
-
-diff --git a/qt5/style/qtcurve.cpp b/qt5/style/qtcurve.cpp
-index 1bf6e1d..07eca0f 100644
---- a/qt5/style/qtcurve.cpp
-+++ b/qt5/style/qtcurve.cpp
-@@ -101,6 +101,26 @@
- 
- namespace QtCurve {
- 
-+class Style::DBusHelper {
-+public:
-+    DBusHelper()
-+        : m_dBus(0)
-+        , m_dbusConnected(false)
-+    {}
-+    ~DBusHelper()
-+    {
-+        if (m_dBus) {
-+            m_dBus->disconnect();
-+            m_dBus->deleteLater();
-+            m_dBus = 0;
-+        }
-+    }
-+
-+    std::once_flag m_aboutToQuitInit;
-+    QDBusInterface *m_dBus;
-+    bool m_dbusConnected;
-+};
-+
- static inline void setPainterPen(QPainter *p, const QColor &col, const qreal 
width=1.0)
- {
-     p->setPen(QPen(col, width));
-@@ -321,6 +341,7 @@ static void parseWindowLine(const QString &line, 
QList<int> &data)
- #endif
- 
- Style::Style() :
-+    m_dBusHelper(new DBusHelper()),
-     m_popupMenuCols(0L),
-     m_sliderCols(0L),
-     m_defBtnCols(0L),
-@@ -343,13 +364,11 @@ Style::Style() :
-     m_progressBarAnimateTimer(0),
-     m_animateStep(0),
-     m_titlebarHeight(0),
--    m_dBus(0),
-     m_shadowHelper(new ShadowHelper(this)),
-     m_sViewSBar(0L),
-     m_windowManager(new WindowManager(this)),
-     m_blurHelper(new BlurHelper(this)),
--    m_shortcutHandler(new ShortcutHandler(this)),
--    m_dbusConnected(false)
-+    m_shortcutHandler(new ShortcutHandler(this))
- {
-     const char *env = getenv(QTCURVE_PREVIEW_CONFIG);
- #ifdef QTC_QT5_ENABLE_KDE
-@@ -394,6 +413,23 @@ void Style::init(bool initial)
- #ifdef QTC_QT5_ENABLE_KDE
-             connect(KWindowSystem::self(), 
&KWindowSystem::compositingChanged, this, &Style::compositingToggled);
- #endif
-+            // prepare the cleanup handler
-+            if (QCoreApplication::instance()) {
-+                std::call_once(m_dBusHelper->m_aboutToQuitInit, [this] {
-+                    connect(QCoreApplication::instance(), 
&QCoreApplication::aboutToQuit, this, [this] () {
-+                            // disconnect from the session DBus. We're no 
longer interested in the
-+                            // information it might send when the app we're 
serving is shutting down.
-+                            disconnectDBus();
-+                            // Stop listening to select signals. We shouldn't 
stop emitting signals
-+                            // (like QObject::destroyed) but we can reduce 
the likelihood that pending
-+                            // signals will be sent to us post-mortem.
-+#ifdef QTC_QT5_ENABLE_KDE
-+                            disconnect(KWindowSystem::self(), 
&KWindowSystem::compositingChanged,
-+                                       this, &Style::compositingToggled);
-+#endif
-+                        } );
-+                } );
-+            }
-         }
-     }
- 
-@@ -663,14 +699,11 @@ void Style::init(bool initial)
- 
- void Style::connectDBus()
- {
--    if (m_dbusConnected)
-+    if (m_dBusHelper->m_dbusConnected)
-         return;
-     auto bus = QDBusConnection::sessionBus();
-     if (bus.isConnected()) {
--        m_dbusConnected = true;
--        if (QCoreApplication::instance()) {
--            connect(QCoreApplication::instance(), 
&QCoreApplication::aboutToQuit, this, &Style::disconnectDBus);
--        }
-+        m_dBusHelper->m_dbusConnected = true;
-         bus.connect(QString(), "/KGlobalSettings", "org.kde.KGlobalSettings",
-                     "notifyChange", this, SLOT(kdeGlobalSettingsChange(int, 
int)));
- #ifndef QTC_QT5_ENABLE_KDE
-@@ -699,12 +732,15 @@ void Style::connectDBus()
- 
- void Style::disconnectDBus()
- {
--    if (!m_dbusConnected)
-+    if (!m_dBusHelper->m_dbusConnected)
-         return;
--    m_dbusConnected = false;
-     auto bus = QDBusConnection::sessionBus();
-+    if (!bus.isConnected())
-+        return;
-+    m_dBusHelper->m_dbusConnected = false;
-     if (getenv("QTCURVE_DEBUG")) {
-         qWarning() << Q_FUNC_INFO << this << "Disconnecting from" << 
bus.name() << "/" << bus.baseService();
-+        dumpObjectInfo();
-     }
-     bus.disconnect(QString(), "/KGlobalSettings", "org.kde.KGlobalSettings",
-                    "notifyChange",
-@@ -739,9 +775,7 @@ Style::~Style()
-         m_plugin->m_styleInstances.removeAll(this);
-     }
-     freeColors();
--    if (m_dBus) {
--        delete m_dBus;
--    }
-+    delete m_dBusHelper;
- }
- 
- void Style::freeColor(QSet<QColor *> &freedColors, QColor **cols)
-@@ -4467,10 +4501,10 @@ void Style::emitMenuSize(QWidget *w, unsigned short 
size, bool force)
-         if (oldSize != size) {
-             w->setProperty(constMenuSizeProperty, size);
-             qtcX11SetMenubarSize(wid, size);
--            if(!m_dBus)
--                m_dBus = new QDBusInterface("org.kde.kwin", "/QtCurve",
-+            if(!m_dBusHelper->m_dBus)
-+                m_dBusHelper->m_dBus = new QDBusInterface("org.kde.kwin", 
"/QtCurve",
-                                              "org.kde.QtCurve");
--            m_dBus->call(QDBus::NoBlock, "menuBarSize",
-+            m_dBusHelper->m_dBus->call(QDBus::NoBlock, "menuBarSize",
-                           (unsigned int)wid, (int)size);
-         }
-     }
-@@ -4479,10 +4513,10 @@ void Style::emitMenuSize(QWidget *w, unsigned short 
size, bool force)
- void Style::emitStatusBarState(QStatusBar *sb)
- {
-     if (opts.statusbarHiding & HIDE_KWIN) {
--        if (!m_dBus)
--            m_dBus = new QDBusInterface("org.kde.kwin", "/QtCurve",
-+        if (!m_dBusHelper->m_dBus)
-+            m_dBusHelper->m_dBus = new QDBusInterface("org.kde.kwin", 
"/QtCurve",
-                                         "org.kde.QtCurve");
--        m_dBus->call(QDBus::NoBlock, "statusBarState",
-+        m_dBusHelper->m_dBus->call(QDBus::NoBlock, "statusBarState",
-                      (unsigned int)qtcGetWid(sb->window()),
-                      sb->isVisible());
-     }
-diff --git a/qt5/style/qtcurve.h b/qt5/style/qtcurve.h
-index 56960a5..ecfa2e7 100644
---- a/qt5/style/qtcurve.h
-+++ b/qt5/style/qtcurve.h
-@@ -522,6 +522,9 @@ private:
-                                       const QWidget *widget) const;
- 
- private:
-+    class DBusHelper;
-+    DBusHelper *m_dBusHelper;
-+
-     mutable Options opts;
-     QColor m_highlightCols[TOTAL_SHADES + 1],
-         m_backgroundCols[TOTAL_SHADES + 1],
-@@ -564,14 +567,12 @@ private:
-     mutable QList<int> m_mdiButtons[2]; // 0=left, 1=right
-     mutable int m_titlebarHeight;
- 
--    QDBusInterface *m_dBus;
-     ShadowHelper *m_shadowHelper;
-     mutable QScrollBar *m_sViewSBar;
-     mutable QMap<QWidget*, QSet<QWidget*> > m_sViewContainers;
-     WindowManager *m_windowManager;
-     BlurHelper *m_blurHelper;
-     ShortcutHandler *m_shortcutHandler;
--    bool m_dbusConnected;
- #ifdef QTC_QT5_ENABLE_KDE
-     KSharedConfigPtr m_configFile;
-     KSharedConfigPtr m_kdeGlobals;
-diff --git a/qt5/style/qtcurve_plugin.cpp b/qt5/style/qtcurve_plugin.cpp
-index ce363ac..481fffc 100644
---- a/qt5/style/qtcurve_plugin.cpp
-+++ b/qt5/style/qtcurve_plugin.cpp
-@@ -129,6 +129,11 @@ StylePlugin::create(const QString &key)
-     if (key.toLower() == "qtcurve") {
-         qtc = new Style;
-         qtc->m_plugin = this;
-+        // keep track of all style instances we allocate, for instance
-+        // for KLineEdit widgets which apparently insist on overriding
-+        // certain things (cf. KLineEditStyle). We want to be able to
-+        // delete those instances as properly and as early as
-+        // possible during the global destruction phase.
-         m_styleInstances << qtc;
-     } else {
-         qtc = nullptr;
-@@ -151,12 +156,14 @@ StylePlugin::~StylePlugin()
-     qtcInfo("Deleting QtCurve plugin (%p)\n", this);
-     if (!m_styleInstances.isEmpty()) {
-         qtcWarn("there remain(s) %d Style instance(s)\n", 
m_styleInstances.count());
--        QList<Style*>::Iterator it = m_styleInstances.begin();
--        while (it != m_styleInstances.end()) {
--            Style *that = *it;
--            it = m_styleInstances.erase(it);
-+        foreach (Style *that, m_styleInstances) {
-+            // don't let ~Style() touch m_styleInstances from here.
-+            that->m_plugin = nullptr;
-+            // each instance should already have disconnected from the D-Bus
-+            // and disconnected from receiving select signals.
-             delete that;
-         }
-+        m_styleInstances.clear();
-     }
-     if (firstPlInstance == this) {
-         firstPlInstance = nullptr;
--- 
-cgit v0.11.2
-

diff --git a/x11-themes/qtcurve/qtcurve-1.9.0_rc1-r2.ebuild 
b/x11-themes/qtcurve/qtcurve-1.9.0_rc1-r2.ebuild
deleted file mode 100644
index 752def4b821..00000000000
--- a/x11-themes/qtcurve/qtcurve-1.9.0_rc1-r2.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-ECM_KDEINSTALLDIRS="false"
-KDE_AUTODEPS="false"
-inherit kde5
-
-DESCRIPTION="Widget styles for Qt and GTK2"
-HOMEPAGE="https://cgit.kde.org/qtcurve.git";
-
-LICENSE="LGPL-2+"
-SLOT="0"
-IUSE="+X gtk nls plasma +qt5 test"
-
-if [[ "${PV}" != 9999 ]] ; then
-       SRC_URI="https://github.com/KDE/qtcurve/archive/${PV/_/-}.tar.gz -> 
${P}.tar.gz"
-       KEYWORDS="alpha amd64 ~hppa ppc ppc64 ~sparc x86"
-       S="${WORKDIR}/${P/_/-}"
-fi
-
-REQUIRED_USE="gtk? ( X )
-       || ( gtk qt5 )
-       plasma? ( qt5 )
-"
-
-COMMON_DEPEND="
-       gtk? ( x11-libs/gtk+:2 )
-       plasma? (
-               $(add_frameworks_dep frameworkintegration)
-               $(add_frameworks_dep karchive)
-               $(add_frameworks_dep kcompletion)
-               $(add_frameworks_dep kconfig)
-               $(add_frameworks_dep kconfigwidgets)
-               $(add_frameworks_dep kcoreaddons)
-               $(add_frameworks_dep kdelibs4support)
-               $(add_frameworks_dep kguiaddons)
-               $(add_frameworks_dep ki18n)
-               $(add_frameworks_dep kiconthemes)
-               $(add_frameworks_dep kio)
-               $(add_frameworks_dep kwidgetsaddons)
-               $(add_frameworks_dep kwindowsystem)
-               $(add_frameworks_dep kxmlgui)
-               $(add_qt_dep qtprintsupport)
-       )
-       qt5? (
-               $(add_qt_dep qtdbus)
-               $(add_qt_dep qtgui)
-               $(add_qt_dep qtsvg)
-               $(add_qt_dep qtwidgets)
-               $(add_qt_dep qtx11extras)
-       )
-       X? (
-               x11-libs/libX11
-               x11-libs/libxcb
-       )
-"
-DEPEND="${COMMON_DEPEND}
-       virtual/pkgconfig
-       nls? ( sys-devel/gettext )
-"
-RDEPEND="${COMMON_DEPEND}
-       !x11-themes/gtk-engines-qtcurve
-"
-
-DOCS=( AUTHORS ChangeLog.md README.md TODO.md )
-
-PATCHES=(
-       "${FILESDIR}/${PN}-1.9.0-rare_crash_hang_fix.patch"
-       "${FILESDIR}/${PN}-1.9.0-build_testing.patch"
-)
-
-src_configure() {
-       local mycmakeargs=(
-               -DENABLE_QT4=OFF
-               -DLIB_INSTALL_DIR="$(get_libdir)"
-               -DQTC_QT4_ENABLE_KDE=OFF
-               -DQTC_KDE4_DEFAULT_HOME=ON
-               -DENABLE_GTK2="$(usex gtk)"
-               -DENABLE_QT5="$(usex qt5)"
-               -DQTC_ENABLE_X11="$(usex X)"
-               -DQTC_INSTALL_PO="$(usex nls)"
-               -DQTC_QT5_ENABLE_KDE="$(usex plasma)"
-       )
-
-       kde5_src_configure
-}

Reply via email to