[packages/kde4-kdebase-workspace] - up to 4.9.2
arekm
arekm at pld-linux.org
Sun Oct 7 21:05:56 CEST 2012
commit 3e6fdbc3d356a87eed994ec4e596aadbc771d319
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Sun Oct 7 21:05:53 2012 +0200
- up to 4.9.2
kde4-kdebase-workspace-bug-306260.patch | 182 --------------------------------
kde4-kdebase-workspace.spec | 21 ++--
2 files changed, 15 insertions(+), 188 deletions(-)
---
diff --git a/kde4-kdebase-workspace.spec b/kde4-kdebase-workspace.spec
index 04a1c3f..bd0d489 100644
--- a/kde4-kdebase-workspace.spec
+++ b/kde4-kdebase-workspace.spec
@@ -7,12 +7,12 @@
Summary: KDE 4 base workspace components
Summary(pl.UTF-8): Podstawowe komponenty środowiska KDE 4
Name: kde4-kdebase-workspace
-Version: 4.9.1
-Release: 2
+Version: 4.9.2
+Release: 1
License: GPL v2+
Group: X11/Applications
Source0: ftp://ftp.kde.org/pub/kde/%{_state}/%{version}/src/%{orgname}-%{version}.tar.xz
-# Source0-md5: 3c22dc4406aa657f1985d7b09a955e9b
+# Source0-md5: 03feb2d606c5c03b87a8e0082c54009b
Source1: kdebase-kdesktop.pam
Source2: kdebase-kdm.pam
Source3: kdebase-kdm-np.pam
@@ -31,7 +31,6 @@ Patch0: %{name}-rootprivs.patch
Patch1: %{name}-kdmconfig.patch
Patch2: %{name}-kdm_revertcrashlogic.patch
Patch3: kde4-kdebase-workspace-brightness.patch
-Patch4: kde4-kdebase-workspace-bug-306260.patch
URL: http://www.kde.org/
BuildRequires: ConsoleKit-devel
BuildRequires: Mesa-libGLES-devel
@@ -524,7 +523,6 @@ dialogowych mających na celu rozszerzenie przywilejów użytkownika.
# https://bugs.kde.org/show_bug.cgi?id=281862
#%patch2 -p1
%patch3 -p1
-%patch4 -p1
%build
install -d build
@@ -1290,7 +1288,18 @@ fi
%attr(755,root,root) %{_libdir}/kde4/libexec/kwin_killer_helper
%attr(755,root,root) %{_libdir}/kde4/libexec/kwin_opengl_test
%attr(755,root,root) %{_libdir}/kde4/libexec/kwin_rules_dialog
-%{_datadir}/apps/kwin
+%dir %{_datadir}/apps/kwin
+%{_datadir}/apps/kwin/*.glsl
+%{_datadir}/apps/kwin/*.png
+%{_datadir}/apps/kwin/*.frag
+%{_datadir}/apps/kwin/*.vert
+%dir %{_datadir}/apps/kwin/default_rules
+%{_datadir}/apps/kwin/default_rules/fsp_workarounds_1.kwinrules
+%{_datadir}/apps/kwin/effects
+%{_datadir}/apps/kwin/kcm_*
+%{_datadir}/apps/kwin/kwin.notifyrc
+%{_datadir}/apps/kwin/scripts
+%{_datadir}/apps/kwin/tabbox
%{_datadir}/config/kwinscripts.knsrc
%{_datadir}/config/kwinswitcher.knsrc
%{_datadir}/config.kcfg/kwin.kcfg
diff --git a/kde4-kdebase-workspace-bug-306260.patch b/kde4-kdebase-workspace-bug-306260.patch
deleted file mode 100644
index 8f94490..0000000
--- a/kde4-kdebase-workspace-bug-306260.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-commit 8452e6c3f01a65953705087e0d7ada87e2cc6997
-Author: Martin Gräßlin <mgraesslin at kde.org>
-Date: Wed Sep 5 20:55:07 2012 +0200
-
- Ensure that the start Client to build up the ClientModel is in the Focus Chain
-
- If the start Client is not part of the focus chain the call to
- nextClientFocusChain() cannot return the Client again. So the loop break
- condition is never reached and as the focus chain is not empty the call
- always returns a not null Client which means KWin is caught in an endless
- loop.
-
- This change checks that the starting Client is in the focus chain and if
- not the first Client of the focus chain is used.
-
- BUG: 306260
- BUG: 306275
- FIXED-IN: 4.9.2
-
-diff --git a/kwin/tabbox/clientmodel.cpp b/kwin/tabbox/clientmodel.cpp
-index 9591bab..a67d979 100644
---- a/kwin/tabbox/clientmodel.cpp
-+++ b/kwin/tabbox/clientmodel.cpp
-@@ -188,7 +188,7 @@ void ClientModel::createClientList(int desktop, bool partialReset)
- switch(tabBox->config().clientSwitchingMode()) {
- case TabBoxConfig::FocusChainSwitching: {
- TabBoxClient* c = start;
-- if (!c) {
-+ if (!tabBox->isInFocusChain(c)) {
- QSharedPointer<TabBoxClient> firstClient = tabBox->firstClientFocusChain().toStrongRef();
- if (firstClient) {
- c = firstClient.data();
-diff --git a/kwin/tabbox/tabbox.cpp b/kwin/tabbox/tabbox.cpp
-index d96d0bd..7a08d37 100644
---- a/kwin/tabbox/tabbox.cpp
-+++ b/kwin/tabbox/tabbox.cpp
-@@ -112,6 +112,14 @@ QWeakPointer< TabBoxClient > TabBoxHandlerImpl::firstClientFocusChain() const
- }
- }
-
-+bool TabBoxHandlerImpl::isInFocusChain(TabBoxClient *client) const
-+{
-+ if (TabBoxClientImpl *c = static_cast<TabBoxClientImpl*>(client)) {
-+ return Workspace::self()->globalFocusChain().contains(c->client());
-+ }
-+ return false;
-+}
-+
- int TabBoxHandlerImpl::nextDesktopFocusChain(int desktop) const
- {
- return m_tabBox->nextDesktopFocusChain(desktop);
-diff --git a/kwin/tabbox/tabbox.h b/kwin/tabbox/tabbox.h
-index 6652f93..bba0b39 100644
---- a/kwin/tabbox/tabbox.h
-+++ b/kwin/tabbox/tabbox.h
-@@ -52,6 +52,7 @@ public:
- virtual QString desktopName(int desktop) const;
- virtual QWeakPointer< TabBoxClient > nextClientFocusChain(TabBoxClient* client) const;
- virtual QWeakPointer< TabBoxClient > firstClientFocusChain() const;
-+ virtual bool isInFocusChain (TabBoxClient* client) const;
- virtual int nextDesktopFocusChain(int desktop) const;
- virtual int numberOfDesktops() const;
- virtual TabBoxClientList stackingOrder() const;
-diff --git a/kwin/tabbox/tabboxhandler.h b/kwin/tabbox/tabboxhandler.h
-index 7abddfc..2af65b2 100644
---- a/kwin/tabbox/tabboxhandler.h
-+++ b/kwin/tabbox/tabboxhandler.h
-@@ -120,6 +120,20 @@ public:
- **/
- virtual QWeakPointer<TabBoxClient> firstClientFocusChain() const = 0;
- /**
-+ * Checks whether the given @p client is part of the focus chain at all.
-+ * This is useful to figure out whether the currently active Client can be used
-+ * as a starting point to construct the recently used list.
-+ *
-+ * In case the @p client is not in the focus chain it is recommended to use the
-+ * Client returned by @link firstClientFocusChain.
-+ *
-+ * The method accepts a @c null Client and in that case @c false is returned.
-+ * @param client The Client to check whether it is in the Focus Chain
-+ * @return @c true in case the Client is part of the focus chain, @c false otherwise.
-+ * @since 4.9.2
-+ **/
-+ virtual bool isInFocusChain(TabBoxClient* client) const = 0;
-+ /**
- * @param client The client whose desktop name should be retrieved
- * @return The desktop name of the given TabBoxClient. If the client is
- * on all desktops the name of current desktop will be returned.
-diff --git a/kwin/tabbox/tests/mock_tabboxhandler.cpp b/kwin/tabbox/tests/mock_tabboxhandler.cpp
-index c3ad7a9..20fe8e8 100644
---- a/kwin/tabbox/tests/mock_tabboxhandler.cpp
-+++ b/kwin/tabbox/tests/mock_tabboxhandler.cpp
-@@ -72,6 +72,9 @@ QWeakPointer< TabBox::TabBoxClient > MockTabBoxHandler::nextClientFocusChain(Tab
- }
- }
- }
-+ if (!m_windows.isEmpty()) {
-+ return QWeakPointer< TabBox::TabBoxClient >(m_windows.last());
-+ }
- return QWeakPointer< TabBox::TabBoxClient >();
- }
-
-@@ -83,6 +86,20 @@ QWeakPointer< TabBox::TabBoxClient > MockTabBoxHandler::firstClientFocusChain()
- return m_windows.first();
- }
-
-+bool MockTabBoxHandler::isInFocusChain(TabBox::TabBoxClient *client) const
-+{
-+ if (!client) {
-+ return false;
-+ }
-+ QList< QSharedPointer< TabBox::TabBoxClient > >::const_iterator it = m_windows.constBegin();
-+ for (; it != m_windows.constEnd(); ++it) {
-+ if ((*it).data() == client) {
-+ return true;
-+ }
-+ }
-+ return false;
-+}
-+
- QWeakPointer< TabBox::TabBoxClient > MockTabBoxHandler::createMockWindow(const QString &caption, WId id)
- {
- QSharedPointer< TabBox::TabBoxClient > client(new MockTabBoxClient(caption, id));
-diff --git a/kwin/tabbox/tests/mock_tabboxhandler.h b/kwin/tabbox/tests/mock_tabboxhandler.h
-index a223648..5578001 100644
---- a/kwin/tabbox/tests/mock_tabboxhandler.h
-+++ b/kwin/tabbox/tests/mock_tabboxhandler.h
-@@ -60,6 +60,7 @@ public:
- }
- virtual QWeakPointer< TabBox::TabBoxClient > nextClientFocusChain(TabBox::TabBoxClient *client) const;
- virtual QWeakPointer<TabBox::TabBoxClient> firstClientFocusChain() const;
-+ virtual bool isInFocusChain (TabBox::TabBoxClient* client) const;
- virtual int nextDesktopFocusChain(int desktop) const {
- Q_UNUSED(desktop)
- return 1;
-diff --git a/kwin/tabbox/tests/test_tabbox_clientmodel.cpp b/kwin/tabbox/tests/test_tabbox_clientmodel.cpp
-index 79d0253..cee9860 100644
---- a/kwin/tabbox/tests/test_tabbox_clientmodel.cpp
-+++ b/kwin/tabbox/tests/test_tabbox_clientmodel.cpp
-@@ -63,4 +63,24 @@ void TestTabBoxClientModel::testCreateClientListNoActiveClient()
- QCOMPARE(clientModel->rowCount(), 2);
- }
-
-+void TestTabBoxClientModel::testCreateClientListActiveClientNotInFocusChain()
-+{
-+ MockTabBoxHandler tabboxhandler;
-+ tabboxhandler.setConfig(TabBox::TabBoxConfig());
-+ TabBox::ClientModel *clientModel = new TabBox::ClientModel(&tabboxhandler);
-+ // create two windows, rowCount() should go to two
-+ QWeakPointer<TabBox::TabBoxClient> client = tabboxhandler.createMockWindow(QString("test"), 1);
-+ client = tabboxhandler.createMockWindow(QString("test2"), 2);
-+ clientModel->createClientList();
-+ QCOMPARE(clientModel->rowCount(), 2);
-+
-+ // simulate that the active client is not in the focus chain
-+ // for that we use the closeWindow of the MockTabBoxHandler which
-+ // removes the Client from the Focus Chain but leaves the active window as it is
-+ QSharedPointer<TabBox::TabBoxClient> clientOwner = client.toStrongRef();
-+ tabboxhandler.closeWindow(client.data());
-+ clientModel->createClientList();
-+ QCOMPARE(clientModel->rowCount(), 1);
-+}
-+
- QTEST_MAIN(TestTabBoxClientModel)
-diff --git a/kwin/tabbox/tests/test_tabbox_clientmodel.h b/kwin/tabbox/tests/test_tabbox_clientmodel.h
-index 2ec6608..fad7987 100644
---- a/kwin/tabbox/tests/test_tabbox_clientmodel.h
-+++ b/kwin/tabbox/tests/test_tabbox_clientmodel.h
-@@ -40,6 +40,13 @@ private slots:
- * See BUG: 305449
- **/
- void testCreateClientListNoActiveClient();
-+ /**
-+ * Tests the creation of the Client list for the case that
-+ * the active Client is not in the Focus chain.
-+ *
-+ * See BUG: 306260
-+ **/
-+ void testCreateClientListActiveClientNotInFocusChain();
- };
-
- #endif
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kde4-kdebase-workspace.git/commitdiff/3e6fdbc3d356a87eed994ec4e596aadbc771d319
More information about the pld-cvs-commit
mailing list