summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2018-11-24 20:38:41 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2018-11-25 00:16:41 +0100
commitcd1325eb7f1d815a5853b7de8ee6392974378f04 (patch)
treee1bdc8452edb2277a4cd1bc31779653749cb44f7 /x11-themes/qtcurve
parentapp-misc/geoclue: add missing new libnotify dep (diff)
downloadgentoo-cd1325eb7f1d815a5853b7de8ee6392974378f04.tar.gz
gentoo-cd1325eb7f1d815a5853b7de8ee6392974378f04.tar.bz2
gentoo-cd1325eb7f1d815a5853b7de8ee6392974378f04.zip
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@gentoo.org>
Diffstat (limited to 'x11-themes/qtcurve')
-rw-r--r--x11-themes/qtcurve/Manifest1
-rw-r--r--x11-themes/qtcurve/files/qtcurve-1.9.0-rare_crash_hang_fix.patch238
-rw-r--r--x11-themes/qtcurve/qtcurve-1.9.0_rc1-r2.ebuild88
3 files changed, 0 insertions, 327 deletions
diff --git a/x11-themes/qtcurve/Manifest b/x11-themes/qtcurve/Manifest
index 122befb83819..69b27ecedfcd 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 921001f44544..000000000000
--- 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?= <rjvbertin@gmail.com>
-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 752def4b821b..000000000000
--- 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
-}