commit:     e5c5fd3eec0a5d6212bc9525af7dd9feb54dc0e6
Author:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 13 13:29:56 2016 +0000
Commit:     Jason Donenfeld <zx2c4 <AT> gentoo <DOT> org>
CommitDate: Tue Sep 13 15:15:08 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5c5fd3e

kde-plasma/kde-gtk-config: Actually use upstream patch

Package-Manager: portage-2.3.0

 ...fig-5.7.4-look-for-cursors-in-right-place.patch | 119 +++++++--------------
 1 file changed, 38 insertions(+), 81 deletions(-)

diff --git 
a/kde-plasma/kde-gtk-config/files/kde-gtk-config-5.7.4-look-for-cursors-in-right-place.patch
 
b/kde-plasma/kde-gtk-config/files/kde-gtk-config-5.7.4-look-for-cursors-in-right-place.patch
index d44ad28..81da8d6 100644
--- 
a/kde-plasma/kde-gtk-config/files/kde-gtk-config-5.7.4-look-for-cursors-in-right-place.patch
+++ 
b/kde-plasma/kde-gtk-config/files/kde-gtk-config-5.7.4-look-for-cursors-in-right-place.patch
@@ -1,25 +1,31 @@
-From 43323a188f17822cc7b26055b70e1e79cd50fc23 Mon Sep 17 00:00:00 2001
-From: "Jason A. Donenfeld" <[email protected]>
-Date: Tue, 13 Sep 2016 04:13:47 +0200
-Subject: [PATCH] cursor model: look for cursors in correct place
+commit fa473a1c4572ef3c2614318b0ce7090613878005
+Author: Jason A. Donenfeld <[email protected]>
+Date:   Tue Sep 13 04:13:47 2016 +0200
 
-plasma-desktop's cursor theme kcm does the right thing, by consulting
-the libXcursor library for the right search paths. Unfortunately, the
-kcm here does a pretty butchered job of it. So, we copy, more or less,
-the same algorithm used by plasma-desktop. Now there's parity in cursor
-selection.
----
- CMakeLists.txt            |  2 +-
- src/cursorthemesmodel.cpp | 47 ++++++++++++++++++++++++++++++++++++++++-------
- src/cursorthemesmodel.h   |  3 +--
- src/gtkconfigkcmodule.cpp |  2 +-
- 4 files changed, 43 insertions(+), 11 deletions(-)
+    cursor model: look for cursors in correct place
+    
+    plasma-desktop's cursor theme kcm does the right thing, by consulting
+    the libXcursor library for the right search paths. Unfortunately, the
+    kcm here does a pretty butchered job of it. So, we copy, more or less,
+    the same algorithm used by plasma-desktop. Now there's parity in cursor
+    selection.
+    
+    For reference, please see line 165 of:
+    
https://quickgit.kde.org/?p=plasma-desktop.git&a=blob&f=kcms%2Fcursortheme%2Fxcursor%2Fthememodel.cpp
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 07d313c..ee2eed9 100644
+index 07d313c..88f5a47 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -54,7 +54,7 @@ ki18n_wrap_ui(kcm_SRCS
+@@ -7,6 +7,7 @@ set(CMAKE_MODULE_PATH 
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ${ECM_MODULE_P
+ 
+ find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Widgets Test)
+ find_package(KF5 REQUIRED COMPONENTS I18n KIO ConfigWidgets NewStuff Archive 
KCMUtils IconThemes)
++find_package(X11 REQUIRED)
+ 
+ include_directories(
+     ${CMAKE_SOURCE_DIR} 
+@@ -54,7 +55,7 @@ ki18n_wrap_ui(kcm_SRCS
  )
  add_library(kcm_kdegtkconfig MODULE ${kcm_SRCS})
  target_compile_definitions(kcm_kdegtkconfig PRIVATE 
-DPROJECT_VERSION="${PROJECT_VERSION}")
@@ -29,70 +35,42 @@ index 07d313c..ee2eed9 100644
  kcoreaddons_desktop_to_json(kcm_kdegtkconfig kde-gtk-config.desktop)
  
 diff --git a/src/cursorthemesmodel.cpp b/src/cursorthemesmodel.cpp
-index 5238714..2955bd9 100644
+index 5238714..0e58230 100644
 --- a/src/cursorthemesmodel.cpp
 +++ b/src/cursorthemesmodel.cpp
-@@ -27,9 +27,17 @@
- #include <KIconTheme>
+@@ -24,12 +24,14 @@
+ #include <QDir>
+ #include <QDirIterator>
+ #include <QSet>
+-#include <KIconTheme>
  #include <QStandardPaths>
++#include <KIconTheme>
++#include <KShell>
++
++#include <X11/Xcursor/Xcursor.h>
  
 -CursorThemesModel::CursorThemesModel(bool onlyHome, QObject* parent)
-+#include <X11/Xlib.h>
-+#include <X11/Xcursor/Xcursor.h>
-+
-+// Check for older version
-+#if !defined(XCURSOR_LIB_MAJOR) && defined(XCURSOR_MAJOR)
-+#  define XCURSOR_LIB_MAJOR XCURSOR_MAJOR
-+#  define XCURSOR_LIB_MINOR XCURSOR_MINOR
-+#endif
-+
 +CursorThemesModel::CursorThemesModel(QObject* parent)
      : IconThemesModel(parent)
 -    , m_onlyHome(onlyHome)
  {
      reload();
  }
-@@ -37,13 +45,38 @@ CursorThemesModel::CursorThemesModel(bool onlyHome, 
QObject* parent)
+@@ -37,13 +39,11 @@ CursorThemesModel::CursorThemesModel(bool onlyHome, 
QObject* parent)
  QList<QDir> CursorThemesModel::installedThemesPaths()
  {
      QList<QDir> availableIcons;
-+    QStringList dirs;
-+
-+#if XCURSOR_LIB_MAJOR == 1 && XCURSOR_LIB_MINOR < 1
-+    // These are the default paths Xcursor will scan for cursor themes
-+    QString 
path("~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons");
++    QStringList dirs(QString(XcursorLibraryPath()).split(':', 
QString::SkipEmptyParts));
 +
-+    // If XCURSOR_PATH is set, use that instead of the default path
-+    char *xcursorPath = std::getenv("XCURSOR_PATH");
-+    if (xcursorPath)
-+        path = xcursorPath;
-+#else
-+    // Get the search path from Xcursor
-+    QString path = XcursorLibraryPath();
-+#endif
++    std::transform(dirs.begin(), dirs.end(), dirs.begin(), 
KShell::tildeExpand);
++    dirs.removeDuplicates();
  
 -    QSet<QString> dirs;
 -    dirs += QDir::home().filePath(".icons");
 -    if(!m_onlyHome) {
 -        dirs += 
QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "icons", 
QStandardPaths::LocateDirectory).toSet();
-+    // Separate the paths
-+    dirs = path.split(':', QString::SkipEmptyParts);
-+
-+    // Remove duplicates
-+    QMutableStringListIterator i(dirs);
-+    while (i.hasNext())
-+    {
-+        const QString path = i.next();
-+        QMutableStringListIterator j(i);
-+        while (j.hasNext())
-+            if (j.next() == path)
-+                j.remove();
-     }
+-    }
 -    
-+
-+    // Expand all occurrences of ~/ to the home dir
-+    dirs.replaceInStrings(QRegExp(QStringLiteral("^~\\/")), 
QDir::home().path() + '/');
-+ 
      foreach(const QString& dir, dirs) {
          QDir userIconsDir(dir);
          QDirIterator it(userIconsDir.path(), 
QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks);
@@ -129,24 +107,3 @@ index 7afe698..d36c6a3 100644
      ui->cb_cursor->setModel(m_cursorsModel);
      m_iconsModel = new IconThemesModel(false, this);
      ui->cb_icon->setModel(m_iconsModel);
--- 
-2.10.0
-
-commit ab7c3c13721466cdf0236732bdb9f4a1f50db89c
-Author: Jason A. Donenfeld <[email protected]>
-Date:   Tue Sep 13 04:23:46 2016 +0200
-
-    cmake: find x11 libs
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ee2eed9..14ce086 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -7,6 +7,7 @@ set(CMAKE_MODULE_PATH 
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ${ECM_MODULE_P
- 
- find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Widgets Test)
- find_package(KF5 REQUIRED COMPONENTS I18n KIO ConfigWidgets NewStuff Archive 
KCMUtils IconThemes)
-+find_package(X11)
- 
- include_directories(
-     ${CMAKE_SOURCE_DIR} 

Reply via email to