diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-12-24 14:11:38 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-12-24 14:11:38 +0000 |
commit | de49812990871e1705b64051c35161d5e6400269 (patch) | |
tree | 5e1e8fcb0ff4579dbd22a1bfee28a6b97dc8aaeb /x11-themes/qtcurve | |
parent | 536c3711867ec947c1738f2c4b96f22e4863322d (diff) |
gentoo resync : 24.12.2018
Diffstat (limited to 'x11-themes/qtcurve')
-rw-r--r-- | x11-themes/qtcurve/Manifest | 7 | ||||
-rw-r--r-- | x11-themes/qtcurve/files/qtcurve-1.9.0-rare_crash_hang_fix.patch | 238 | ||||
-rw-r--r-- | x11-themes/qtcurve/qtcurve-1.9.0.ebuild | 4 | ||||
-rw-r--r-- | x11-themes/qtcurve/qtcurve-1.9.0_rc1-r2.ebuild | 88 | ||||
-rw-r--r-- | x11-themes/qtcurve/qtcurve-9999.ebuild | 6 |
5 files changed, 7 insertions, 336 deletions
diff --git a/x11-themes/qtcurve/Manifest b/x11-themes/qtcurve/Manifest index 0c5d26ca2f9c..4521dd379db2 100644 --- a/x11-themes/qtcurve/Manifest +++ b/x11-themes/qtcurve/Manifest @@ -1,9 +1,6 @@ AUX qtcurve-1.9.0-build_testing.patch 1241 BLAKE2B e4a9c8d947bcb129ad6f532962849535b2b99684317be8a0fcc925730a9635f9b6c38bc89eecca3a0dd30450f261e099ad87de0d873c42bbc30524877330efe3 SHA512 4d8046b111d7accaaab9710023e1d1d12080d71b96a3f0cf15a2a12a1637ce98ca2741d25bf9b861f0bdaa507ebb4a85b14c6e098bc82a687de2e926bb0883a9 AUX qtcurve-1.9.0-no-X-buildfix.patch 1736 BLAKE2B 09c900df5fd20bb7219605446e5c7ae69c61684c7eb06cfc3d7579ac4dd8d6d67db84a2af595d4da69834b31e1820694b1948445e99bff8eb7294093f8bc4923 SHA512 f2811aec6f039935a86d14af2e3fd69092e57662656dffac283800156af4037dee609b5d27310c9276b42d10a6e52728c1ce6e3cc1f2194e05e9bc2dc8cc51a7 -AUX qtcurve-1.9.0-rare_crash_hang_fix.patch 9205 BLAKE2B 30f40705b238d390f05a7c71ac44ae94fabccc66a56c97f280a28b44b4ee1e1f8dc3c1fe41aa0df2ba9690f725e1535557ede6c371f7af87eff17d3080f85d85 SHA512 dbffea87cd3e88e2c06bb7fb6a0e684e3e8bc3e58e841cba8838acf3ca9624364f40b74b05ea827706cb386d53b1fd298152a6f758c349a2fdac7efafda5d2f1 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 -EBUILD qtcurve-1.9.0.ebuild 1989 BLAKE2B 579a37559cef8c0f3c0cc69af606244207513d29371c024614ccaf653bd58be60ac6a4de6fe16d9636ff95b9dedd88054b920968b2727e86866fc9590f4f37fd SHA512 dd7696ba307d7eea9974d37d40a1b96a4463d78c5bea215b1256bf682f19a7bb476b753f2fa34bc6b4eda68a9ea822c92575b883688789ae154f7ce2aec09002 -EBUILD qtcurve-1.9.0_rc1-r2.ebuild 1987 BLAKE2B 2f321fbfea11cba255d14d59d5211ab27e44d95fbf5107b0cad998bd799835a3ddaaae0ed0260e4a6223958fab7d6885681647a49984c6227e77192c46ef66bb SHA512 37e08003b638b27d36346d05bd19037af1f7d53c0e5d12a0de2a0341e602d63b89ce64acc4527adf2bd44babeb9adb57cb7b10ac6ede60c2133c5b801b9c9539 -EBUILD qtcurve-9999.ebuild 1943 BLAKE2B 8bca5a9694ae117d1e255dab57a557061bad9b1b0b1e8c27e4fd0161e7a0f50d7b63633c26ee4876ee3ecf0f71cc7a623481bc7dfdb0b51d26042c93b0df63b6 SHA512 7c60cde110d1c22ffac534ec12c85811a94f2e7482eb7a8fba25b539bc83a2acf711ad136c009aff8a8ce7e444d80824e54b2f4f93db14d7077a8a79e87c0229 +EBUILD qtcurve-1.9.0.ebuild 2005 BLAKE2B 250c63621e9953f757ed5532e717086551c3e79c0b626455fe9c0127c96aeb03d55692421493507eb92f0e472d076484519f2b49875ea268ff6a3f8f5dc574e2 SHA512 2fb95bd6428a38de5b86fdca3e117af90fc2969c975506b07d66e5680f00fa970b596d2d31904f5e128db0e4dc45abf4b4bc5e8f5e9a86df659997dd48826b84 +EBUILD qtcurve-9999.ebuild 1902 BLAKE2B 50cb4486f8203224cf1e3d1eda0e40ca97ad59cf7c691317c5f07d9181c5c8eceb56e5fd6cc1ae73da46d73f9ca25bc7a13f2c2f96daeb30da6f106414de4adc SHA512 41be7b6921f6c4cc47129298e520a6a65421305d3da540a763fccb2f02c221305b6d22ccfc971ae3d187e1ecfa472f47110c56568386089cfa445ac76a643853 MISC metadata.xml 571 BLAKE2B 39c415e51cd1ad85b251d9a3801b4d7883826f7d83a7e41778289a70285d58bd10663010d540b24a9d54010518ac7258fb9c845c41f7a2d54004a9ce527bb1fe SHA512 63d721869c8b2fcef4fb4f8a5bfcf3e728a7d3d369f4d71b95c2ce1edb1f5010b1369df5b8daaf46221d1f8085c17b790b611a350a599d0741112cebb0c37684 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.ebuild b/x11-themes/qtcurve/qtcurve-1.9.0.ebuild index 6047b67909da..85ce451395d6 100644 --- a/x11-themes/qtcurve/qtcurve-1.9.0.ebuild +++ b/x11-themes/qtcurve/qtcurve-1.9.0.ebuild @@ -16,7 +16,7 @@ IUSE="+X gtk nls plasma +qt5 test" if [[ "${PV}" != 9999 ]] ; then SRC_URI="https://github.com/KDE/qtcurve/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz" - KEYWORDS="alpha amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" + KEYWORDS="alpha amd64 ~hppa ppc ppc64 ~sparc x86" S="${WORKDIR}/${P/_/-}" fi @@ -64,6 +64,8 @@ RDEPEND="${COMMON_DEPEND} !x11-themes/gtk-engines-qtcurve " +RESTRICT+=" test" + DOCS=( AUTHORS ChangeLog.md README.md TODO.md ) PATCHES=( 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 -} diff --git a/x11-themes/qtcurve/qtcurve-9999.ebuild b/x11-themes/qtcurve/qtcurve-9999.ebuild index 0d7ef602fb66..e51b07b8f845 100644 --- a/x11-themes/qtcurve/qtcurve-9999.ebuild +++ b/x11-themes/qtcurve/qtcurve-9999.ebuild @@ -64,11 +64,9 @@ RDEPEND="${COMMON_DEPEND} !x11-themes/gtk-engines-qtcurve " -DOCS=( AUTHORS ChangeLog.md README.md TODO.md ) +RESTRICT+=" test" -#PATCHES=( -# "${FILESDIR}/${P}-add_utils_include.patch" -#) +DOCS=( AUTHORS ChangeLog.md README.md TODO.md ) src_configure() { local mycmakeargs=( |