Hello community,

here is the log from the commit of package kitemmodels for openSUSE:Factory 
checked in at 2015-02-16 15:07:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kitemmodels (Old)
 and      /work/SRC/openSUSE:Factory/.kitemmodels.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kitemmodels"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kitemmodels/kitemmodels.changes  2015-01-29 
12:53:33.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kitemmodels.new/kitemmodels.changes     
2015-02-16 17:31:40.000000000 +0100
@@ -1,0 +2,10 @@
+Sun Feb  8 18:15:36 UTC 2015 - [email protected]
+
+- Update to 5.7.0
+  * Fixed KRecursiveFilterProxyModel for Qt 5.5.0+, due to
+    QSortFilterProxyModel now using the roles parameter to the
+    dataChanged signal
+  * For more details please see:
+    https://www.kde.org/announcements/kde-frameworks-5.7.0.php
+
+-------------------------------------------------------------------

Old:
----
  kitemmodels-5.6.0.tar.xz

New:
----
  kitemmodels-5.7.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kitemmodels.spec ++++++
--- /var/tmp/diff_new_pack.Hecsae/_old  2015-02-16 17:31:41.000000000 +0100
+++ /var/tmp/diff_new_pack.Hecsae/_new  2015-02-16 17:31:41.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kitemmodels
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,11 +17,12 @@
 
 
 %define lname   libKF5ItemModels5
+%define _tar_path 5.7
 Name:           kitemmodels
-Version:        5.6.0
+Version:        %{_tar_path}.0
 Release:        0
 BuildRequires:  cmake >= 2.8.12
-BuildRequires:  extra-cmake-modules >= 1.6.0
+BuildRequires:  extra-cmake-modules >= 1.7.0
 BuildRequires:  fdupes
 BuildRequires:  kf5-filesystem
 BuildRequires:  pkgconfig(Qt5Core) >= 5.2.0
@@ -29,7 +30,7 @@
 License:        LGPL-2.1+
 Group:          System/GUI/KDE
 Url:            http://www.kde.org
-Source:         
http://download.kde.org/stable/frameworks/5.6/%{name}-%{version}.tar.xz
+Source:         
http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz
 Source1:        baselibs.conf
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 

++++++ kitemmodels-5.6.0.tar.xz -> kitemmodels-5.7.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitemmodels-5.6.0/CMakeLists.txt 
new/kitemmodels-5.7.0/CMakeLists.txt
--- old/kitemmodels-5.6.0/CMakeLists.txt        2014-12-31 15:23:58.000000000 
+0100
+++ new/kitemmodels-5.7.0/CMakeLists.txt        2015-01-23 21:40:52.000000000 
+0100
@@ -2,7 +2,7 @@
 
 project(KItemModels)
 
-find_package(ECM 1.6.0 REQUIRED NO_MODULE)
+find_package(ECM 1.7.0 REQUIRED NO_MODULE)
 
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
 
@@ -19,7 +19,7 @@
 include(ECMSetupVersion)
 include(ECMGenerateHeaders)
 
-set(KF5_VERSION "5.6.0") # handled by release scripts
+set(KF5_VERSION "5.7.0") # handled by release scripts
 
 ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KITEMMODELS
                         VERSION_HEADER 
"${CMAKE_CURRENT_BINARY_DIR}/kitemmodels_version.h"
@@ -34,7 +34,7 @@
 
 
 # create a Config.cmake and a ConfigVersion.cmake file and install them
-set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5ItemModels")
+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5ItemModels")
 
 include(ECMPackageConfigHelpers)
 
@@ -55,7 +55,7 @@
 
 install(FILES
    ${CMAKE_CURRENT_BINARY_DIR}/kitemmodels_version.h
-  DESTINATION ${KF5_INCLUDE_INSTALL_DIR} COMPONENT Devel
+  DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel
 )
 
 feature_summary(WHAT ALL   FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitemmodels-5.6.0/src/CMakeLists.txt 
new/kitemmodels-5.7.0/src/CMakeLists.txt
--- old/kitemmodels-5.6.0/src/CMakeLists.txt    2014-12-31 15:23:58.000000000 
+0100
+++ new/kitemmodels-5.7.0/src/CMakeLists.txt    2015-01-23 21:40:52.000000000 
+0100
@@ -13,7 +13,7 @@
 generate_export_header(KF5ItemModels BASE_NAME KItemModels)
 add_library(KF5::ItemModels ALIAS KF5ItemModels)
 
-target_include_directories(KF5ItemModels INTERFACE 
"$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KItemModels>")
+target_include_directories(KF5ItemModels INTERFACE 
"$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KItemModels>")
 
 target_link_libraries(KF5ItemModels PUBLIC Qt5::Core)
 
@@ -40,9 +40,9 @@
 install(FILES
   ${CMAKE_CURRENT_BINARY_DIR}/kitemmodels_export.h
   ${KItemModels_HEADERS}
-  DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KItemModels COMPONENT Devel
+  DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KItemModels COMPONENT Devel
 )
 
 include(ECMGeneratePriFile)
-ecm_generate_pri_file(BASE_NAME KItemModels LIB_NAME KF5ItemModels DEPS "core" 
FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR 
${KF5_INCLUDE_INSTALL_DIR}/KItemModels)
+ecm_generate_pri_file(BASE_NAME KItemModels LIB_NAME KF5ItemModels DEPS "core" 
FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR 
${KDE_INSTALL_INCLUDEDIR_KF5}/KItemModels)
 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitemmodels-5.6.0/src/krecursivefilterproxymodel.cpp 
new/kitemmodels-5.7.0/src/krecursivefilterproxymodel.cpp
--- old/kitemmodels-5.6.0/src/krecursivefilterproxymodel.cpp    2014-12-31 
15:23:58.000000000 +0100
+++ new/kitemmodels-5.7.0/src/krecursivefilterproxymodel.cpp    2015-01-23 
21:40:52.000000000 +0100
@@ -19,6 +19,8 @@
 
 #include "krecursivefilterproxymodel.h"
 
+#include <QMetaMethod>
+
 // Maintainability note:
 // This class invokes some Q_PRIVATE_SLOTs in QSortFilterProxyModel which are
 // private API and could be renamed or removed at any time.
@@ -43,14 +45,38 @@
         qRegisterMetaType<QModelIndex>("QModelIndex");
     }
 
+    inline QMetaMethod findMethod(const char* signature) const
+    {
+        Q_Q(const KRecursiveFilterProxyModel);
+        const int idx = q->metaObject()->indexOfMethod(signature);
+        Q_ASSERT(idx != -1);
+        return q->metaObject()->method(idx);
+    }
+
     // Convenience methods for invoking the QSFPM Q_SLOTS. Those slots must be 
invoked with invokeMethod
     // because they are Q_PRIVATE_SLOTs
-    inline void invokeDataChanged(const QModelIndex &topLeft, const 
QModelIndex &bottomRight)
+    inline void invokeDataChanged(const QModelIndex &topLeft, const 
QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>())
     {
         Q_Q(KRecursiveFilterProxyModel);
-        bool success = QMetaObject::invokeMethod(q, "_q_sourceDataChanged", 
Qt::DirectConnection,
-                       Q_ARG(QModelIndex, topLeft),
-                       Q_ARG(QModelIndex, bottomRight));
+        // runtime check to ensure a KF5 built against Qt < 5.5 keeps working 
when Qt is updated to 5.5 and above but KF5 is not rebuild
+        // TODO: remove once Qt 5.5 or above is required for frameworks
+        static const bool passRoles = QT_VERSION >= 0x050500 // no runtime 
check required when we built against Qt 5.5 or higher
+            || 
KRecursiveFilterProxyModel::staticMetaObject.indexOfMethod("_q_sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)")
 != -1;
+        bool success = false;
+        if (passRoles) {
+            // required for Qt 5.5 and upwards, see commit f96baeb75fc in 
qtbase
+            static const QMetaMethod m = 
findMethod("_q_sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)");
+            success = m.invoke(q, Qt::DirectConnection,
+                        Q_ARG(QModelIndex, topLeft),
+                        Q_ARG(QModelIndex, bottomRight),
+                        Q_ARG(QVector<int>, roles));
+        } else {
+            // backwards compatibility
+            static const QMetaMethod m = 
findMethod("_q_sourceDataChanged(QModelIndex,QModelIndex)");
+            success = m.invoke(q, Qt::DirectConnection,
+                        Q_ARG(QModelIndex, topLeft),
+                        Q_ARG(QModelIndex, bottomRight));
+        }
         Q_UNUSED(success);
         Q_ASSERT(success);
     }
@@ -58,7 +84,8 @@
     inline void invokeRowsInserted(const QModelIndex &source_parent, int 
start, int end)
     {
         Q_Q(KRecursiveFilterProxyModel);
-        bool success = QMetaObject::invokeMethod(q, "_q_sourceRowsInserted", 
Qt::DirectConnection,
+        static const QMetaMethod m = 
findMethod("_q_sourceRowsInserted(QModelIndex,int,int)");
+        bool success = m.invoke(q, Qt::DirectConnection,
                        Q_ARG(QModelIndex, source_parent),
                        Q_ARG(int, start),
                        Q_ARG(int, end));
@@ -69,7 +96,8 @@
     inline void invokeRowsAboutToBeInserted(const QModelIndex &source_parent, 
int start, int end)
     {
         Q_Q(KRecursiveFilterProxyModel);
-        bool success = QMetaObject::invokeMethod(q, 
"_q_sourceRowsAboutToBeInserted", Qt::DirectConnection,
+        static const QMetaMethod m = 
findMethod("_q_sourceRowsAboutToBeInserted(QModelIndex,int,int)");
+        bool success = m.invoke(q, Qt::DirectConnection,
                        Q_ARG(QModelIndex, source_parent),
                        Q_ARG(int, start),
                        Q_ARG(int, end));
@@ -80,7 +108,8 @@
     inline void invokeRowsRemoved(const QModelIndex &source_parent, int start, 
int end)
     {
         Q_Q(KRecursiveFilterProxyModel);
-        bool success = QMetaObject::invokeMethod(q, "_q_sourceRowsRemoved", 
Qt::DirectConnection,
+        static const QMetaMethod m = 
findMethod("_q_sourceRowsRemoved(QModelIndex,int,int)");
+        bool success = m.invoke(q, Qt::DirectConnection,
                        Q_ARG(QModelIndex, source_parent),
                        Q_ARG(int, start),
                        Q_ARG(int, end));
@@ -91,7 +120,8 @@
     inline void invokeRowsAboutToBeRemoved(const QModelIndex &source_parent, 
int start, int end)
     {
         Q_Q(KRecursiveFilterProxyModel);
-        bool success = QMetaObject::invokeMethod(q, 
"_q_sourceRowsAboutToBeRemoved", Qt::DirectConnection,
+        static const QMetaMethod m = 
findMethod("_q_sourceRowsAboutToBeRemoved(QModelIndex,int,int)");
+        bool success = m.invoke(q, Qt::DirectConnection,
                        Q_ARG(QModelIndex, source_parent),
                        Q_ARG(int, start),
                        Q_ARG(int, end));
@@ -99,7 +129,7 @@
         Q_ASSERT(success);
     }
 
-    void sourceDataChanged(const QModelIndex &source_top_left, const 
QModelIndex &source_bottom_right);
+    void sourceDataChanged(const QModelIndex &source_top_left, const 
QModelIndex &source_bottom_right, const QVector<int> &roles);
     void sourceRowsAboutToBeInserted(const QModelIndex &source_parent, int 
start, int end);
     void sourceRowsInserted(const QModelIndex &source_parent, int start, int 
end);
     void sourceRowsAboutToBeRemoved(const QModelIndex &source_parent, int 
start, int end);
@@ -118,14 +148,14 @@
     bool completeRemove;
 };
 
-void KRecursiveFilterProxyModelPrivate::sourceDataChanged(const QModelIndex 
&source_top_left, const QModelIndex &source_bottom_right)
+void KRecursiveFilterProxyModelPrivate::sourceDataChanged(const QModelIndex 
&source_top_left, const QModelIndex &source_bottom_right, const QVector<int> 
&roles)
 {
     Q_Q(KRecursiveFilterProxyModel);
 
     QModelIndex source_parent = source_top_left.parent();
 
     if (!source_parent.isValid() || q->filterAcceptsRow(source_parent.row(), 
source_parent.parent())) {
-        invokeDataChanged(source_top_left, source_bottom_right);
+        invokeDataChanged(source_top_left, source_bottom_right, roles);
         return;
     }
 
@@ -308,8 +338,8 @@
 void KRecursiveFilterProxyModel::setSourceModel(QAbstractItemModel *model)
 {
     // Standard disconnect.
-    disconnect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
-               this, SLOT(sourceDataChanged(QModelIndex,QModelIndex)));
+    disconnect(model, 
SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
+               this, 
SLOT(sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
 
     disconnect(model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),
                this, SLOT(sourceRowsAboutToBeInserted(QModelIndex,int,int)));
@@ -389,8 +419,8 @@
     // to see if H matches the filter (which it now does as L now exists).
     // That is done in refreshAscendantMapping.
 
-    disconnect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
-               this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex)));
+    disconnect(model, 
SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
+               this, 
SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
 
     disconnect(model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),
                this, 
SLOT(_q_sourceRowsAboutToBeInserted(QModelIndex,int,int)));
@@ -405,8 +435,8 @@
                this, SLOT(_q_sourceRowsRemoved(QModelIndex,int,int)));
 
     // Slots for manual invoking of QSortFilterProxyModel methods.
-    connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
-            this, SLOT(sourceDataChanged(QModelIndex,QModelIndex)));
+    connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
+            this, 
SLOT(sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
 
     connect(model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),
             this, SLOT(sourceRowsAboutToBeInserted(QModelIndex,int,int)));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitemmodels-5.6.0/src/krecursivefilterproxymodel.h 
new/kitemmodels-5.7.0/src/krecursivefilterproxymodel.h
--- old/kitemmodels-5.6.0/src/krecursivefilterproxymodel.h      2014-12-31 
15:23:58.000000000 +0100
+++ new/kitemmodels-5.7.0/src/krecursivefilterproxymodel.h      2015-01-23 
21:40:52.000000000 +0100
@@ -121,7 +121,7 @@
     //@cond PRIVATE
     Q_DECLARE_PRIVATE(KRecursiveFilterProxyModel)
 
-    Q_PRIVATE_SLOT(d_func(), void sourceDataChanged(const QModelIndex 
&source_top_left, const QModelIndex &source_bottom_right))
+    Q_PRIVATE_SLOT(d_func(), void sourceDataChanged(const QModelIndex 
&source_top_left, const QModelIndex &source_bottom_right, const QVector<int> 
&roles))
     Q_PRIVATE_SLOT(d_func(), void sourceRowsAboutToBeInserted(const 
QModelIndex &source_parent, int start, int end))
     Q_PRIVATE_SLOT(d_func(), void sourceRowsInserted(const QModelIndex 
&source_parent, int start, int end))
     Q_PRIVATE_SLOT(d_func(), void sourceRowsAboutToBeRemoved(const QModelIndex 
&source_parent, int start, int end))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitemmodels-5.6.0/src/kselectionproxymodel.cpp 
new/kitemmodels-5.7.0/src/kselectionproxymodel.cpp
--- old/kitemmodels-5.6.0/src/kselectionproxymodel.cpp  2014-12-31 
15:23:58.000000000 +0100
+++ new/kitemmodels-5.7.0/src/kselectionproxymodel.cpp  2015-01-23 
21:40:52.000000000 +0100
@@ -1344,7 +1344,6 @@
     return m_mappedParents.leftToRight(sourceParent);
 }
 
-#ifndef QT_NO_DEBUG
 static bool indexIsValid(bool startWithChildTrees, int row, const 
QList<QPersistentModelIndex> &rootIndexList, const SourceIndexProxyRowMapping 
&mappedFirstChildren)
 {
     if (!startWithChildTrees) {
@@ -1365,7 +1364,6 @@
     }
     return true;
 }
-#endif
 
 QModelIndex KSelectionProxyModelPrivate::createTopLevelIndex(int row, int 
column) const
 {

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to