diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2013-02-08 20:30:09 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2013-02-08 20:30:09 +0000 |
commit | e2608007581f695e1708b4ebbd8e0a8dad65c727 (patch) | |
tree | 7a7e03870f698e81eb8df8b06ffe9e86290063fc /kde-base/plasma-workspace | |
parent | backport upstream fix to build with recent ffmpeg versions, part of bug #443206 (diff) | |
download | gentoo-2-e2608007581f695e1708b4ebbd8e0a8dad65c727.tar.gz gentoo-2-e2608007581f695e1708b4ebbd8e0a8dad65c727.tar.bz2 gentoo-2-e2608007581f695e1708b4ebbd8e0a8dad65c727.zip |
Add workaround patch for plasma-workspace crash, see bug 450818 and kde bug 311751 comments 2 and 32.
(Portage version: 2.2.0_alpha161/cvs/Linux x86_64, signed Manifest commit with key B6C5F7DE)
Diffstat (limited to 'kde-base/plasma-workspace')
3 files changed, 286 insertions, 1 deletions
diff --git a/kde-base/plasma-workspace/ChangeLog b/kde-base/plasma-workspace/ChangeLog index 2da5904f4f37..93b058f04f5f 100644 --- a/kde-base/plasma-workspace/ChangeLog +++ b/kde-base/plasma-workspace/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for kde-base/plasma-workspace # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/plasma-workspace/ChangeLog,v 1.194 2013/02/07 04:57:24 alexxy Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/plasma-workspace/ChangeLog,v 1.195 2013/02/08 20:30:09 dilfridge Exp $ + +*plasma-workspace-4.10.0-r1 (08 Feb 2013) + + 08 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +plasma-workspace-4.10.0-r1.ebuild, + +files/plasma-workspace-4.10.0-norepeater.patch: + Add workaround patch for plasma-workspace crash, see bug 450818 and kde bug + 311751 comments 2 and 32. *plasma-workspace-4.10.0 (06 Feb 2013) diff --git a/kde-base/plasma-workspace/files/plasma-workspace-4.10.0-norepeater.patch b/kde-base/plasma-workspace/files/plasma-workspace-4.10.0-norepeater.patch new file mode 100644 index 000000000000..7e510aa1cc84 --- /dev/null +++ b/kde-base/plasma-workspace/files/plasma-workspace-4.10.0-norepeater.patch @@ -0,0 +1,139 @@ +diff --git a/plasma/generic/applets/systemtray/package/contents/ui/IconsList.qml b/plasma/generic/applets/systemtray/package/contents/ui/IconsList.qml +index 348d3dd..16277b5 100644 +--- a/plasma/generic/applets/systemtray/package/contents/ui/IconsList.qml ++++ b/plasma/generic/applets/systemtray/package/contents/ui/IconsList.qml +@@ -34,13 +34,13 @@ MouseArea { + + property int icons_size: 24 ///< Size of icons, icons are square i.e. width == height + property int icons_margins: 4 ///< Margins for icons +- property alias icons_number: repeater.count ///< [readonly] Number of icons +- property alias model: repeater.model; ///< Model for grid ++ property alias icons_number: list.count ///< [readonly] Number of icons ++ property alias model: list.model; ///< Model for grid + property int cell_size: icons_size + 2*icons_margins ///< [readonly] size of grid cell + + //Those properties are used by PlasmaCore.Dialog for size hints +- property int minimumWidth: layoutColumn.childrenRect.width ///< [readonly] minimum width of component required to show whole grid +- property int minimumHeight: layoutColumn.childrenRect.height ///< [readonly] minimum height of compontn required to show whole grid ++ property int minimumWidth: list.contentItem.childrenRect.width ///< [readonly] minimum width of component required to show whole grid ++ property int minimumHeight: list.contentItem.childrenRect.height ///< [readonly] minimum height of compontn required to show whole grid + property int maximumWidth: minimumWidth + property int maximumHeight: minimumHeight + +@@ -53,6 +53,7 @@ MouseArea { + id: delegate_root_item + width: childrenRect.width + height: childrenRect.height ++ z: 0 + + // we redirect some events to IconWidget or applet + target: task.type == TypeStatusItem ? ui_item.getIconWidget() : task +@@ -63,8 +64,9 @@ MouseArea { + onClickRight: ui_item.click(Qt.RightButton) + onScrollVert: ui_item.scrollVert(delta) + onScrollHorz: ui_item.scrollHorz(delta) +- onEntered: { +- delegate_highlight.y = delegate_root_item.y ++ onChangedMousePos: { ++ var pos = mapToItem(list.contentItem, mouseX, mouseY) ++ list.currentIndex = list.indexAt(pos.x, pos.y) + } + + Row { +@@ -108,38 +110,42 @@ MouseArea { + } + + } +- + } + + + +- PlasmaWidgets.ItemBackground { ++ Component { + id: delegate_highlight +- height: cell_size +- width: minimumWidth +- +- opacity: root_item.containsMouse +- Behavior on opacity { +- NumberAnimation { +- duration: 150 +- easing: Easing.InOutQuad ++ Item { ++ height: cell_size ++ width: minimumWidth ++ ++ PlasmaWidgets.ItemBackground { ++ anchors.fill: parent + } +- } +- Behavior on y { +- NumberAnimation { +- duration: 250 +- easing: Easing.InOutQuad ++ opacity: root_item.containsMouse ++ Behavior on opacity { ++ NumberAnimation { ++ duration: 150 ++ easing: Easing.InOutQuad ++ } + } + } + } + +- +- Column { +- id: layoutColumn ++ ListView { ++ id: list ++ anchors.fill: parent ++ //never delete items ++ cacheBuffer: 1000 ++ ++ interactive: false ++ delegate: delegate_task ++ highlight: delegate_highlight ++ highlightFollowsCurrentItem: true ++ highlightMoveSpeed: -1 ++ highlightMoveDuration: 250 + spacing: 0 +- Repeater { +- id: repeater +- delegate: delegate_task +- } ++ snapMode: ListView.SnapToItem + } + } +diff --git a/plasma/generic/applets/systemtray/ui/mouseredirectarea.cpp b/plasma/generic/applets/systemtray/ui/mouseredirectarea.cpp +index 79f5ca0..38bb815 100644 +--- a/plasma/generic/applets/systemtray/ui/mouseredirectarea.cpp ++++ b/plasma/generic/applets/systemtray/ui/mouseredirectarea.cpp +@@ -146,14 +146,12 @@ void MouseRedirectArea::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) + void MouseRedirectArea::hoverEnterEvent(QGraphicsSceneHoverEvent *event) + { + forwardEvent(event); +- emit entered(); + } + + + void MouseRedirectArea::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) + { + forwardEvent(event); +- emit exited(); + } + + void MouseRedirectArea::hoverMoveEvent(QGraphicsSceneHoverEvent *event) +diff --git a/plasma/generic/applets/systemtray/ui/mouseredirectarea.h b/plasma/generic/applets/systemtray/ui/mouseredirectarea.h +index 9c60070..ed1a806 100644 +--- a/plasma/generic/applets/systemtray/ui/mouseredirectarea.h ++++ b/plasma/generic/applets/systemtray/ui/mouseredirectarea.h +@@ -67,8 +67,6 @@ signals: + void scrollVert(int delta); + void scrollHorz(int delta); + void changedMousePos(qreal mouseX, qreal mouseY); +- void entered(); +- void exited(); + + private: //Events + virtual void wheelEvent(QGraphicsSceneWheelEvent *event); diff --git a/kde-base/plasma-workspace/plasma-workspace-4.10.0-r1.ebuild b/kde-base/plasma-workspace/plasma-workspace-4.10.0-r1.ebuild new file mode 100644 index 000000000000..26dfbfbb6069 --- /dev/null +++ b/kde-base/plasma-workspace/plasma-workspace-4.10.0-r1.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/plasma-workspace/plasma-workspace-4.10.0-r1.ebuild,v 1.1 2013/02/08 20:30:09 dilfridge Exp $ + +EAPI=5 + +DECLARATIVE_REQUIRED="always" +KDE_HANDBOOK="optional" +KMNAME="kde-workspace" +KMMODULE="plasma" +PYTHON_DEPEND="python? 2" +OPENGL_REQUIRED="always" +inherit python kde4-meta + +DESCRIPTION="Plasma: KDE desktop framework" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux" +IUSE="debug google-gadgets gps json python qalculate +rss semantic-desktop" + +COMMONDEPEND=" + dev-libs/libdbusmenu-qt + !kde-misc/ktouchpadenabler + $(add_kdebase_dep kactivities) + $(add_kdebase_dep kdelibs 'semantic-desktop=') + $(add_kdebase_dep kephal) + $(add_kdebase_dep ksysguard) + $(add_kdebase_dep libkworkspace) + $(add_kdebase_dep libplasmagenericshell) + $(add_kdebase_dep libtaskmanager) + $(add_kdebase_dep solid) + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXfixes + x11-libs/libXrender + google-gadgets? ( >=x11-misc/google-gadgets-0.11.0[qt4] ) + gps? ( >=sci-geosciences/gpsd-2.37 ) + json? ( dev-libs/qjson ) + python? ( + >=dev-python/PyQt4-4.4.0[X] + $(add_kdebase_dep pykde4) + ) + qalculate? ( sci-libs/libqalculate ) + rss? ( + $(add_kdebase_dep kdepimlibs 'semantic-desktop=') + $(add_kdebase_dep libplasmaclock 'holidays') + ) + !rss? ( $(add_kdebase_dep libplasmaclock '-holidays') ) + semantic-desktop? ( + dev-libs/soprano + $(add_kdebase_dep nepomuk-core) + ) +" +DEPEND="${COMMONDEPEND} + rss? ( dev-libs/boost ) + x11-proto/compositeproto + x11-proto/damageproto + x11-proto/fixesproto + x11-proto/renderproto +" +RDEPEND="${COMMONDEPEND} + $(add_kdebase_dep plasma-runtime) +" + +PATCHES=( "${FILESDIR}/${P}"-norepeater.patch ) + +KMEXTRA=" + appmenu/ + ktouchpadenabler/ + statusnotifierwatcher/ +" +KMEXTRACTONLY=" + kcheckpass/ + krunner/dbus/org.freedesktop.ScreenSaver.xml + krunner/dbus/org.kde.krunner.App.xml + ksmserver/org.kde.KSMServerInterface.xml + ksmserver/screenlocker/ + libs/kephal/ + libs/kworkspace/ + libs/taskmanager/ + libs/plasmagenericshell/ + libs/ksysguard/ + libs/kdm/kgreeterplugin.h + ksysguard/ +" + +KMLOADLIBS="libkworkspace libplasmaclock libplasmagenericshell libtaskmanager" + +pkg_setup() { + if use python ; then + python_set_active_version 2 + python_pkg_setup + fi + kde4-meta_pkg_setup +} + +src_unpack() { + if use handbook; then + KMEXTRA+=" doc/plasma-desktop" + fi + + kde4-meta_src_unpack +} + +src_configure() { + mycmakeargs=( + $(cmake-utils_use_with google-gadgets Googlegadgets) + $(cmake-utils_use_with gps libgps) + $(cmake-utils_use_with json QJSON) + $(cmake-utils_use_with python PythonLibrary) + $(cmake-utils_use_with qalculate) + $(cmake-utils_use_with rss KdepimLibs) + $(cmake-utils_use_with semantic-desktop Akonadi) + $(cmake-utils_use_with semantic-desktop NepomukCore) + $(cmake-utils_use_with semantic-desktop Soprano) + -DWITH_Xmms=OFF + ) + + kde4-meta_src_configure +} + +pkg_postinst() { + kde4-meta_pkg_postinst + + if use python; then + python_mod_optimize \ + PyKDE4/plasmascript.py \ + /usr/share/apps/plasma_scriptengine_python + fi +} + +pkg_postrm() { + kde4-meta_pkg_postrm + + if use python; then + python_mod_cleanup \ + PyKDE4/plasmascript.py \ + /usr/share/apps/plasma_scriptengine_python + fi +} |