Hello community,

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

Package is "kross"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kross/kross.changes      2015-01-29 
12:54:24.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kross.new/kross.changes 2015-02-16 
17:32:16.000000000 +0100
@@ -1,0 +2,8 @@
+Sun Feb  8 18:15:42 UTC 2015 - [email protected]
+
+- Update to 5.7.0
+  * Fixed Kross::MetaFunction so it works with Qt5's metaobject system
+  * For more details please see:
+    https://www.kde.org/announcements/kde-frameworks-5.7.0.php
+
+-------------------------------------------------------------------

Old:
----
  kross-5.6.0.tar.xz

New:
----
  kross-5.7.0.tar.xz

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

Other differences:
------------------
++++++ kross.spec ++++++
--- /var/tmp/diff_new_pack.2VplkV/_old  2015-02-16 17:32:16.000000000 +0100
+++ /var/tmp/diff_new_pack.2VplkV/_new  2015-02-16 17:32:16.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kross
 #
-# 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
@@ -16,12 +16,13 @@
 #
 
 
+%define _tar_path 5.7
 Name:           kross
-Version:        5.6.0
+Version:        %{_tar_path}.0
 Release:        0
 %define kf5_version %{version}
 BuildRequires:  cmake >= 2.8.12
-BuildRequires:  extra-cmake-modules >= 1.6.0
+BuildRequires:  extra-cmake-modules >= 1.7.0
 BuildRequires:  fdupes
 BuildRequires:  kcompletion-devel >= %{kf5_version}
 BuildRequires:  kdoctools-devel >= %{kf5_version}
@@ -45,7 +46,7 @@
 License:        LGPL-2.1+
 Group:          System/GUI/KDE
 Url:            http://www.kde.org
-Source:         
http://download.kde.org/stable/frameworks/5.6/portingAids/%{name}-%{version}.tar.xz
+Source:         
http://download.kde.org/stable/frameworks/%{_tar_path}/portingAids/%{name}-%{version}.tar.xz
 Source1:        baselibs.conf
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 

++++++ kross-5.6.0.tar.xz -> kross-5.7.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/CMakeLists.txt 
new/kross-5.7.0/CMakeLists.txt
--- old/kross-5.6.0/CMakeLists.txt      2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/CMakeLists.txt      2015-02-08 16:23:53.000000000 +0100
@@ -2,7 +2,7 @@
 
 project(Kross)
 
-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})
 
@@ -16,8 +16,8 @@
 include(KDEFrameworkCompilerSettings)
 include(KDECMakeSettings)
 
-set(KF5_VERSION "5.6.0") # handled by release scripts
-set(KF5_DEP_VERSION "5.6.0") # handled by release scripts
+set(KF5_VERSION "5.7.0") # handled by release scripts
+set(KF5_DEP_VERSION "5.7.0") # handled by release scripts
 ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KROSS
                         VERSION_HEADER 
"${CMAKE_CURRENT_BINARY_DIR}/kross_version.h"
                         PACKAGE_VERSION_FILE 
"${CMAKE_CURRENT_BINARY_DIR}/KF5KrossConfigVersion.cmake"
@@ -26,6 +26,17 @@
 set(REQUIRED_QT_VERSION "5.2")
 find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Script Xml 
Widgets UiTools)
 
+
+find_package(Qt5Test ${QT_MIN_VERSION} CONFIG QUIET)
+set_package_properties(Qt5Test PROPERTIES
+   PURPOSE "Required for tests"
+   TYPE OPTIONAL
+   )
+add_feature_info("Qt5Test" Qt5Test_FOUND "Required for building tests")
+if (NOT Qt5Test_FOUND)
+   set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.")
+endif()
+
 find_package(KF5Completion ${KF5_DEP_VERSION} REQUIRED)
 find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED)
 find_package(KF5DocTools ${KF5_DEP_VERSION} REQUIRED)
@@ -46,10 +57,12 @@
 endif()
 add_subdirectory(docs)
 add_subdirectory(src)
+if (BUILD_TESTING)
 add_subdirectory(autotests)
+endif()
 
 # create a Config.cmake and a ConfigVersion.cmake file and install them
-set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5Kross")
+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Kross")
 
 ecm_configure_package_config_file(
   "${CMAKE_CURRENT_SOURCE_DIR}/KF5KrossConfig.cmake.in"
@@ -58,7 +71,7 @@
 )
 
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kross_version.h
-        DESTINATION ${KF5_INCLUDE_INSTALL_DIR} COMPONENT Devel)
+        DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel)
 
 install(FILES
   "${CMAKE_CURRENT_BINARY_DIR}/KF5KrossConfig.cmake"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/autotests/CMakeLists.txt 
new/kross-5.7.0/autotests/CMakeLists.txt
--- old/kross-5.6.0/autotests/CMakeLists.txt    2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/autotests/CMakeLists.txt    2015-02-08 16:23:53.000000000 
+0100
@@ -12,6 +12,14 @@
 
 add_test(NAME krossqtstest-test-es COMMAND krossqtstest 
${CMAKE_CURRENT_SOURCE_DIR}/qtstest.es)
 
+add_executable(metafunctiontest metafunctiontest.cpp)
+ecm_mark_as_test(metafunctiontest)
+target_link_libraries(metafunctiontest
+   Qt5::Test
+   KF5::KrossCore
+   )
+add_test(NAME kross-metafunctiontest COMMAND metafunctiontest)
+
 #set(krosstest_SRCS
 #   testobject.cpp
 #   main.cpp )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/autotests/metafunctiontest.cpp 
new/kross-5.7.0/autotests/metafunctiontest.cpp
--- old/kross-5.6.0/autotests/metafunctiontest.cpp      1970-01-01 
01:00:00.000000000 +0100
+++ new/kross-5.7.0/autotests/metafunctiontest.cpp      2015-02-08 
16:23:53.000000000 +0100
@@ -0,0 +1,123 @@
+/* This file is part of the KDE frameworks
+    Copyright (c) 2015 David Faure <[email protected]>
+
+    This library is free software; you can redistribute it and/or modify
+    it under the terms of the GNU Lesser General Public License as published by
+    the Free Software Foundation; either version 2 of the License or ( at
+    your option ) version 3 or, at the discretion of KDE e.V. ( which shall
+    act as a proxy as in section 14 of the GPLv3 ), any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#include <QDebug>
+#include <kross/core/metafunction.h>
+#include <QMetaMethod>
+#include <QtTest/QTest>
+
+class MyFunction : public Kross::MetaFunction
+{
+public:
+    MyFunction(QObject* sender, const QByteArray& signal)
+        : Kross::MetaFunction(sender, signal) {}
+
+    int qt_metacall(QMetaObject::Call _c, int _id, void **_a) {
+        _id = QObject::qt_metacall(_c, _id, _a);
+        if (_id >= 0 && _c == QMetaObject::InvokeMetaMethod) {
+            switch (_id) {
+                case 0:
+                {
+                    // convert the arguments
+                    QMetaMethod method = metaObject()->method( 
metaObject()->indexOfMethod(m_signature.constData()) );
+                    m_paramTypes = method.parameterTypes();
+                    for (int idx = 0; idx < m_paramTypes.size(); ++idx) {
+                        const int tp = QVariant::nameToType( 
m_paramTypes.at(idx).constData() );
+                        QVariant v(tp, _a[idx+1]);
+                        m_paramValues.append(v);
+                    }
+                }
+            }
+            _id -= 1;
+        }
+        return _id;
+    }
+    QList<QByteArray> paramTypes() const { return m_paramTypes; }
+    QList<QVariant> paramValues() const { return m_paramValues; }
+private:
+    QList<QByteArray> m_paramTypes;
+    QList<QVariant> m_paramValues;
+};
+
+class WrappedObject : public QObject
+{
+    Q_OBJECT
+public:
+    void doEmit() { emit valueChanged(42); }
+Q_SIGNALS:
+    void valueChanged(int);
+};
+
+class MetaFunctionTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void testMetaFunction()
+    {
+        WrappedObject obj;
+        QList<MyFunction *> funcs;
+        // mostly from kross-interpreters/python/pythonscript.cpp
+        const QMetaObject* metaobject = obj.metaObject();
+        const int count = metaobject->methodCount();
+        for(int i = 0; i < count; ++i) {
+            QMetaMethod metamethod = metaobject->method(i);
+            if( metamethod.methodType() == QMetaMethod::Signal ) {
+                const QByteArray signature = metamethod.methodSignature();
+                // skip signals from QObject
+                if (signature.startsWith("destroyed") || 
signature.startsWith("objectNameChanged"))
+                    continue;
+                MyFunction *func = new MyFunction(&obj, signature);
+                funcs.append(func);
+                const QByteArray name = signature.left(signature.indexOf('('));
+                QByteArray sendersignal = signature;
+                sendersignal.prepend(QSIGNAL_CODE + '0');
+                QByteArray receiverslot = signature;
+                receiverslot.prepend(QSLOT_CODE + '0');
+
+                QObject::connect(&obj, sendersignal.constData(), func, 
receiverslot.constData());
+            }
+        }
+
+        QCOMPARE(funcs.count(), 1); // valueChanged
+
+        MyFunction* valueChangedFunc = funcs.at(0);
+        const QMetaObject *valueChangedMetaObj = 
valueChangedFunc->metaObject();
+        bool found = false;
+        QByteArray foundSig;
+        for (int i = 0; i < valueChangedMetaObj->methodCount(); ++i) {
+            QMetaMethod method = valueChangedMetaObj->method(i);
+            if (method.name() == "valueChanged") {
+                found = true;
+                foundSig = method.methodSignature();
+            }
+        }
+        QVERIFY2(found, "no valueChanged method/slot found in dynamic meta 
object!");
+        QCOMPARE(foundSig.constData(), "valueChanged(int)");
+
+        obj.doEmit();
+        QCOMPARE(funcs.at(0)->paramTypes(), QList<QByteArray>() << "int");
+        QCOMPARE(funcs.at(0)->paramValues().at(0).toInt(), 42);
+        qDeleteAll(funcs);
+    }
+};
+
+QTEST_MAIN(MetaFunctionTest)
+
+#include "metafunctiontest.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/docs/kross/CMakeLists.txt 
new/kross-5.7.0/docs/kross/CMakeLists.txt
--- old/kross-5.6.0/docs/kross/CMakeLists.txt   2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/docs/kross/CMakeLists.txt   2015-02-08 16:23:53.000000000 
+0100
@@ -1 +1 @@
-kdoctools_create_manpage(man-kf5kross.1.docbook 1 INSTALL_DESTINATION 
${MAN_INSTALL_DIR})
+kdoctools_create_manpage(man-kf5kross.1.docbook 1 INSTALL_DESTINATION 
${KDE_INSTALL_MANDIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/cs/kross5.po 
new/kross-5.7.0/po/cs/kross5.po
--- old/kross-5.6.0/po/cs/kross5.po     2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/cs/kross5.po     2015-02-08 16:23:53.000000000 +0100
@@ -1,7 +1,7 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # Lukáš Tinkl <[email protected]>, 2010, 2011, 2012.
-# Vít Pelčák <[email protected]>, 2011, 2012, 2013, 2014.
+# Vít Pelčák <[email protected]>, 2011, 2012, 2013, 2014, 2015.
 # Tomáš Chvátal <[email protected]>, 2012, 2013.
 #
 msgid ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/fi/kross5.po 
new/kross-5.7.0/po/fi/kross5.po
--- old/kross-5.6.0/po/fi/kross5.po     2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/fi/kross5.po     2015-02-08 16:23:53.000000000 +0100
@@ -29,7 +29,7 @@
 "POT-Creation-Date: 2014-05-14 08:06+0000\n"
 "PO-Revision-Date: 2014-04-11 15:59+0300\n"
 "Last-Translator: Lasse Liehu <[email protected]>\n"
-"Language-Team: Finnish <[email protected]>\n"
+"Language-Team: Finnish <[email protected]>\n"
 "Language: fi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/it/kross5.po 
new/kross-5.7.0/po/it/kross5.po
--- old/kross-5.6.0/po/it/kross5.po     2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/it/kross5.po     2015-02-08 16:23:53.000000000 +0100
@@ -8,7 +8,7 @@
 # Luciano Montanaro <[email protected]>, 2007.
 # Dario Panico <[email protected]>, 2008.
 # Pino Toscano <[email protected]>, 2008.
-# Federico Zenith <[email protected]>, 2008, 2012, 2013, 2014.
+# Federico Zenith <[email protected]>, 2008, 2012, 2013, 2014, 
2015.
 # Innocenzo Ventre <[email protected]>, 2012.
 # Vincenzo Reale <[email protected]>, 2014.
 msgid ""
@@ -16,7 +16,7 @@
 "Project-Id-Version: kdelibs4\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2014-05-14 08:06+0000\n"
-"PO-Revision-Date: 2014-10-09 20:11+0200\n"
+"PO-Revision-Date: 2015-01-11 20:36+0100\n"
 "Last-Translator: Federico Zenith <[email protected]>\n"
 "Language-Team: Italian <[email protected]>\n"
 "Language: it\n"
@@ -28,11 +28,12 @@
 
 msgctxt "NAME OF TRANSLATORS"
 msgid "Your names"
-msgstr "Federico Zenith,Dario Panico,Nicola Ruggero,Federico Cozzi"
+msgstr ""
+"Federico Zenith,Vincenzo Reale,Dario Panico,Nicola Ruggero,Federico Cozzi"
 
 msgctxt "EMAIL OF TRANSLATORS"
 msgid "Your emails"
-msgstr "[email protected],,,"
+msgstr "[email protected],,,,"
 
 #: console/main.cpp:99
 msgctxt "application name"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/ko/kross5.po 
new/kross-5.7.0/po/ko/kross5.po
--- old/kross-5.6.0/po/ko/kross5.po     2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/ko/kross5.po     2015-02-08 16:23:53.000000000 +0100
@@ -1,15 +1,15 @@
 # Korean messages for kdelibs.
 # Copyright (C) Free Software Foundation, Inc.
-#
 # Cho Sung Jae <[email protected]>, 2007.
 # Park Shinjo <[email protected]>, 2007, 2008, 2009, 2010, 2011.
-# Park Shinjo <[email protected]>, 2011, 2012, 2013, 2014.
+# Park Shinjo <[email protected]>, 2011, 2012, 2013, 2014, 2015.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: kdelibs4\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2014-05-14 08:06+0000\n"
-"PO-Revision-Date: 2014-04-05 21:10+0900\n"
+"PO-Revision-Date: 2015-01-18 17:08+0900\n"
 "Last-Translator: Park Shinjo <[email protected]>\n"
 "Language-Team: Korean <[email protected]>\n"
 "Language: ko\n"
@@ -134,7 +134,7 @@
 
 #: ui/actioncollectionview.cpp:334
 msgid "Stop"
-msgstr "멈춤"
+msgstr "정지"
 
 #: ui/actioncollectionview.cpp:336
 msgid "Stop execution of the selected script."
@@ -158,7 +158,7 @@
 
 #: ui/actioncollectionview.cpp:355
 msgid "Remove"
-msgstr "제거"
+msgstr "삭제"
 
 #: ui/actioncollectionview.cpp:357
 msgid "Remove selected script."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/nb/kross5.po 
new/kross-5.7.0/po/nb/kross5.po
--- old/kross-5.6.0/po/nb/kross5.po     2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/nb/kross5.po     2015-02-08 16:23:53.000000000 +0100
@@ -1,4 +1,4 @@
-# Translation of kdelibs4 to Norwegian Bokmål
+# Translation of kross5 to Norwegian Bokmål
 #
 # Knut Yrvin <[email protected]>, 2002, 2003, 2004, 2005.
 # Bjørn Steensrud <[email protected]>, 2002, 2003, 2004, 2005, 
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/nn/kross5.po 
new/kross-5.7.0/po/nn/kross5.po
--- old/kross-5.6.0/po/nn/kross5.po     2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/nn/kross5.po     2015-02-08 16:23:53.000000000 +0100
@@ -1,4 +1,4 @@
-# Translation of kdelibs4 to Norwegian Nynorsk
+# Translation of kross5 to Norwegian Nynorsk
 #
 # Gaute Hvoslef Kvalnes <[email protected]>, 2003, 2004, 2005, 2006.
 # Håvard Korsvoll <[email protected]>, 2003, 2005.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/se/kross5.po 
new/kross-5.7.0/po/se/kross5.po
--- old/kross-5.6.0/po/se/kross5.po     2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/se/kross5.po     2015-02-08 16:23:53.000000000 +0100
@@ -1,4 +1,4 @@
-# Translation of kdelibs4 to Northern Sami
+# Translation of kross5 to Northern Sami
 #
 # Børre Gaup <[email protected]>, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012.
 msgid ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/sr/kross5.po 
new/kross-5.7.0/po/sr/kross5.po
--- old/kross-5.6.0/po/sr/kross5.po     2015-01-03 13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/sr/kross5.po     2015-02-08 16:23:53.000000000 +0100
@@ -1,7 +1,7 @@
 # Translation of kdelibs4.po into Serbian.
 # Marko Rosic <[email protected]>, 2003.
 # Toplica Tanaskovic <[email protected]>, 2003, 2004, 2005.
-# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014.
+# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014, 2015.
 # Dalibor Djuric <[email protected]>, 2009, 2010, 2011.
 msgid ""
 msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/sr@ijekavian/kross5.po 
new/kross-5.7.0/po/sr@ijekavian/kross5.po
--- old/kross-5.6.0/po/sr@ijekavian/kross5.po   2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/po/sr@ijekavian/kross5.po   2015-02-08 16:23:53.000000000 
+0100
@@ -1,7 +1,7 @@
 # Translation of kdelibs4.po into Serbian.
 # Marko Rosic <[email protected]>, 2003.
 # Toplica Tanaskovic <[email protected]>, 2003, 2004, 2005.
-# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014.
+# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014, 2015.
 # Dalibor Djuric <[email protected]>, 2009, 2010, 2011.
 msgid ""
 msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/sr@ijekavianlatin/kross5.po 
new/kross-5.7.0/po/sr@ijekavianlatin/kross5.po
--- old/kross-5.6.0/po/sr@ijekavianlatin/kross5.po      2015-01-03 
13:13:16.000000000 +0100
+++ new/kross-5.7.0/po/sr@ijekavianlatin/kross5.po      2015-02-08 
16:23:53.000000000 +0100
@@ -1,7 +1,7 @@
 # Translation of kdelibs4.po into Serbian.
 # Marko Rosic <[email protected]>, 2003.
 # Toplica Tanaskovic <[email protected]>, 2003, 2004, 2005.
-# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014.
+# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014, 2015.
 # Dalibor Djuric <[email protected]>, 2009, 2010, 2011.
 msgid ""
 msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/po/sr@latin/kross5.po 
new/kross-5.7.0/po/sr@latin/kross5.po
--- old/kross-5.6.0/po/sr@latin/kross5.po       2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/po/sr@latin/kross5.po       2015-02-08 16:23:53.000000000 
+0100
@@ -1,7 +1,7 @@
 # Translation of kdelibs4.po into Serbian.
 # Marko Rosic <[email protected]>, 2003.
 # Toplica Tanaskovic <[email protected]>, 2003, 2004, 2005.
-# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014.
+# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014, 2015.
 # Dalibor Djuric <[email protected]>, 2009, 2010, 2011.
 msgid ""
 msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/src/core/CMakeLists.txt 
new/kross-5.7.0/src/core/CMakeLists.txt
--- old/kross-5.6.0/src/core/CMakeLists.txt     2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/src/core/CMakeLists.txt     2015-02-08 16:23:53.000000000 
+0100
@@ -12,7 +12,7 @@
 add_library(KF5KrossCore ${krosscore_LIB_SRCS})
 generate_export_header(KF5KrossCore BASE_NAME KrossCore)
 
-target_include_directories(KF5KrossCore INTERFACE 
"$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KrossCore>")
+target_include_directories(KF5KrossCore INTERFACE 
"$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KrossCore>")
 
 target_link_libraries(KF5KrossCore
 PUBLIC
@@ -50,7 +50,7 @@
   REQUIRED_HEADERS KrossCore_HEADERS
 )
 # apps include <Kross/Core/Object> or <kross/core/object.h>
-install(FILES ${KrossCore_CamelCase_HEADERS} DESTINATION 
${KF5_INCLUDE_INSTALL_DIR}/KrossCore/Kross/Core COMPONENT Devel)
+install(FILES ${KrossCore_CamelCase_HEADERS} DESTINATION 
${KDE_INSTALL_INCLUDEDIR_KF5}/KrossCore/Kross/Core COMPONENT Devel)
 
 add_library(KF5::KrossCore ALIAS KF5KrossCore)
 
@@ -58,10 +58,10 @@
   ${CMAKE_CURRENT_BINARY_DIR}/krosscore_export.h
   krossconfig.h
   ${KrossCore_HEADERS}
-  DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KrossCore/kross/core COMPONENT Devel) 
# apps include <kross/core/object.h>
+  DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KrossCore/kross/core COMPONENT 
Devel) # apps include <kross/core/object.h>
 
 install(TARGETS KF5KrossCore EXPORT KF5KrossTargets 
${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
 
 include(ECMGeneratePriFile)
-ecm_generate_pri_file(BASE_NAME KrossCore LIB_NAME KF5KrossCore DEPS "script 
xml" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR 
${KF5_INCLUDE_INSTALL_DIR}/KrossCore)
+ecm_generate_pri_file(BASE_NAME KrossCore LIB_NAME KF5KrossCore DEPS "script 
xml" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR 
${KDE_INSTALL_INCLUDEDIR_KF5}/KrossCore)
 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/src/core/metafunction.h 
new/kross-5.7.0/src/core/metafunction.h
--- old/kross-5.6.0/src/core/metafunction.h     2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/src/core/metafunction.h     2015-02-08 16:23:53.000000000 
+0100
@@ -29,10 +29,13 @@
 #include <QArgument>
 #include <QByteRef>
 #include <QPointer>
+#include <QVector>
 
 namespace Kross
 {
 
+static const char s_fakeClassName[] = "ScriptFunction";
+
 /**
  * The MetaFunction class implements a QObject to provide an adaptor
  * between Qt signals+slots and scripting functions.
@@ -54,47 +57,77 @@
     * be executed if the QObject emits the signal.
     */
     MetaFunction(QObject *sender, const QByteArray &signal)
-        : QObject(), m_sender(sender), 
m_signature(QMetaObject::normalizedSignature(signal))
+        : QObject(), m_sender(sender), 
m_signature(QMetaObject::normalizedSignature(signal.constData()))
     {
         //krossdebug(QString("MetaFunction sender=\"%1\" 
signal=\"%2\"").arg(sender->objectName()).arg(m_signature.constData()));
-        const uint signatureSize = m_signature.size() + 1;
+
+        const QByteArray signalName = signal.left(signal.indexOf('('));
+
+        const QList<QByteArray> types = 
parameterTypeNamesFromSignature(m_signature.constData());
+
+        QList<int> parameterMetaTypes;
+        parameterMetaTypes.append(QMetaType::Void); // return type
+        foreach(const QByteArray &typeName, types) {
+            parameterMetaTypes.append(QMetaType::type(typeName.constData())); 
// ## might be missing support for non-builtin types...
+        }
+
+        m_data.resize(20 + parameterMetaTypes.count());
 
         // content
-        m_data[0] = 1;  // revision
-        m_data[1] = 0;  // classname
-        m_data[2] = 0;  // classinfo
-        m_data[3] = 0;  // classinfo
-        m_data[4] = 1;  // methods
-        m_data[5] = 15; // methods
-        m_data[6] = 0;  // properties
-        m_data[7] = 0;  // properties
-        m_data[8] = 0;  // enums/sets
-        m_data[9] = 0;  // enums/sets
-
-        // slots
-        m_data[15] = 15;  // signature start
-        m_data[16] = 15 + signatureSize;  // parameters start
-        m_data[17] = 15 + signatureSize;  // type start
-        m_data[18] = 15 + signatureSize;  // tag start
-        m_data[19] = 0x0a; // flags
-        m_data[20] = 0;    // eod
-
-        // data
-        m_stringData = QByteArray("ScriptFunction\0", 15);
-        m_stringData += m_signature;
-        m_stringData += QByteArray("\0\0", 2);
+        m_data[0] = 7;  // revision
+        m_data[1] = 0;  // classname (the first string)
+        m_data[2] = 0;  // classinfo count
+        m_data[3] = 0;  // classinfo data
+        m_data[4] = 1;  // methods count
+        m_data[5] = 14; // methods data
+        m_data[6] = 0;  // properties count
+        m_data[7] = 0;  // properties data
+        m_data[8] = 0;  // enums/sets count
+        m_data[9] = 0;  // enums/sets data
+        m_data[10] = 0; // constructors count
+        m_data[11] = 0; // constructors data
+        m_data[12] = 0; // flags
+        m_data[13] = 0; // signal count
+
+        // slots: name, argc, parameters, tag, flags
+        m_data[14] = 1;  // name
+        m_data[15] = types.count();  // parameter count
+        m_data[16] = 19;  // parameter data
+        m_data[17] = 2;  // tag (RequiresVariantMetaObject)
+        m_data[18] = 0x0a; // flags (public slot)
+
+        // slots: parameters
+        int i = 19;
+        foreach (int metaType, parameterMetaTypes) {
+            m_data[i++] = metaType;
+        }
+
+        m_data[i++] = 0;    // eod
+
+        // string table
+        // qt_metacast expects the first string in the string table to be the 
class name.
+        const QByteArray className(s_fakeClassName);
+        int offsetOfStringdataMember = 2 * sizeof(QByteArrayData);
+        int stringdataOffset = 0;
+        m_stringData = new char[offsetOfStringdataMember + className.size() + 
1 + signalName.size() + 1];
+        writeString(m_stringData, /*index*/0, className, 
offsetOfStringdataMember, stringdataOffset);
+        writeString(m_stringData, 1, signalName, offsetOfStringdataMember, 
stringdataOffset);
 
         // static metaobject
         staticMetaObject.d.superdata = &QObject::staticMetaObject;
-        staticMetaObject.d.stringdata = m_stringData.data();
-        staticMetaObject.d.data = m_data;
+        staticMetaObject.d.stringdata = reinterpret_cast<const QByteArrayData 
*>(m_stringData);
+        staticMetaObject.d.data = m_data.data();
+        staticMetaObject.d.relatedMetaObjects = 0;
         staticMetaObject.d.extradata = 0;
+        staticMetaObject.d.static_metacall = 0;
     }
 
     /**
     * Destructor.
     */
-    virtual ~MetaFunction() {}
+    virtual ~MetaFunction() {
+        delete[] m_stringData;
+    }
 
     /**
     * The static \a QMetaObject instance that provides the
@@ -121,7 +154,7 @@
         if (! _clname) {
             return 0;
         }
-        if (! strcmp(_clname, m_stringData)) {
+        if (! qstrcmp(_clname, s_fakeClassName)) {
             return static_cast<void *>(const_cast< MetaFunction * >(this));
         }
         return QObject::qt_metacast(_clname);
@@ -138,10 +171,48 @@
     QPointer<QObject> m_sender;
     /// The signature.
     QByteArray m_signature;
+
+private:
     /// The stringdata.
-    QByteArray m_stringData;
+    char* m_stringData;
     /// The data array.
-    uint m_data[21];
+    QVector<uint> m_data;
+
+    // from Qt5's qmetaobjectbuilder.cpp
+    static void writeString(char *out, int i, const QByteArray &str,
+            const int offsetOfStringdataMember, int &stringdataOffset)
+    {
+        int size = str.size();
+        qptrdiff offset = offsetOfStringdataMember + stringdataOffset
+            - i * sizeof(QByteArrayData);
+        const QByteArrayData data =
+            Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(size, 
offset);
+        memcpy(out + i * sizeof(QByteArrayData), &data, 
sizeof(QByteArrayData));
+        memcpy(out + offsetOfStringdataMember + stringdataOffset, 
str.constData(), size);
+        out[offsetOfStringdataMember + stringdataOffset + size] = '\0';
+        stringdataOffset += size + 1;
+    }
+
+    // from Qt5's QMetaObjectPrivate
+    QList<QByteArray> parameterTypeNamesFromSignature(const char *signature)
+    {
+        QList<QByteArray> list;
+        while (*signature && *signature != '(')
+            ++signature;
+        while (*signature && *signature != ')' && *++signature != ')') {
+            const char *begin = signature;
+            int level = 0;
+            while (*signature && (level > 0 || *signature != ',') && 
*signature != ')') {
+                if (*signature == '<')
+                    ++level;
+                else if (*signature == '>')
+                    --level;
+                ++signature;
+            }
+            list += QByteArray(begin, signature - begin);
+        }
+        return list;
+    }
 };
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/src/modules/CMakeLists.txt 
new/kross-5.7.0/src/modules/CMakeLists.txt
--- old/kross-5.6.0/src/modules/CMakeLists.txt  2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/src/modules/CMakeLists.txt  2015-02-08 16:23:53.000000000 
+0100
@@ -13,7 +13,7 @@
        KF5::KrossUi
        KF5::I18n
     )
-    install(TARGETS KrossModuleForms DESTINATION ${PLUGIN_INSTALL_DIR})
+    install(TARGETS KrossModuleForms DESTINATION ${KDE_INSTALL_PLUGINDIR})
 endif()
 
 ############################################
@@ -27,4 +27,4 @@
    KF5::KrossCore
    KF5::I18n
 )
-install(TARGETS KrossModuleKdeTranslation DESTINATION ${PLUGIN_INSTALL_DIR})
+install(TARGETS KrossModuleKdeTranslation DESTINATION ${KDE_INSTALL_PLUGINDIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/src/qts/CMakeLists.txt 
new/kross-5.7.0/src/qts/CMakeLists.txt
--- old/kross-5.6.0/src/qts/CMakeLists.txt      2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/src/qts/CMakeLists.txt      2015-02-08 16:23:53.000000000 
+0100
@@ -10,7 +10,7 @@
    Qt5::Gui
 )
 
-install(TARGETS krossqtsplugin DESTINATION ${QT_PLUGIN_INSTALL_DIR}/script)
+install(TARGETS krossqtsplugin DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/script)
 
 ########### next target ###############
 
@@ -24,4 +24,4 @@
    Qt5::Gui
 )
 
-install(TARGETS krossqts DESTINATION ${QT_PLUGIN_INSTALL_DIR})
+install(TARGETS krossqts DESTINATION ${KDE_INSTALL_QTPLUGINDIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kross-5.6.0/src/ui/CMakeLists.txt 
new/kross-5.7.0/src/ui/CMakeLists.txt
--- old/kross-5.6.0/src/ui/CMakeLists.txt       2015-01-03 13:13:16.000000000 
+0100
+++ new/kross-5.7.0/src/ui/CMakeLists.txt       2015-02-08 16:23:53.000000000 
+0100
@@ -9,7 +9,7 @@
 add_library(KF5KrossUi ${krossui_LIB_SRCS})
 generate_export_header(KF5KrossUi BASE_NAME KrossUi)
 
-target_include_directories(KF5KrossUi INTERFACE 
"$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KrossUi>")
+target_include_directories(KF5KrossUi INTERFACE 
"$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KrossUi>")
 
 target_link_libraries(KF5KrossUi
 PUBLIC
@@ -37,7 +37,7 @@
   PREFIX Kross/Ui
   REQUIRED_HEADERS KrossUi_HEADERS
 )
-install(FILES ${KrossUi_CamelCase_HEADERS} DESTINATION 
${KF5_INCLUDE_INSTALL_DIR}/KrossUi/Kross/Ui COMPONENT Devel)
+install(FILES ${KrossUi_CamelCase_HEADERS} DESTINATION 
${KDE_INSTALL_INCLUDEDIR_KF5}/KrossUi/Kross/Ui COMPONENT Devel)
 
 install(TARGETS KF5KrossUi EXPORT KF5KrossTargets 
${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
 
@@ -49,8 +49,8 @@
   model.h # compat header
   view.h # compat header
   ${KrossUi_HEADERS}
-  DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KrossUi/kross/ui COMPONENT Devel)
+  DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KrossUi/kross/ui COMPONENT Devel)
 
 include(ECMGeneratePriFile)
-ecm_generate_pri_file(BASE_NAME KrossUi LIB_NAME KF5KrossUi DEPS "KrossCore 
KParts" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR 
${KF5_INCLUDE_INSTALL_DIR}/KrossUi)
+ecm_generate_pri_file(BASE_NAME KrossUi LIB_NAME KF5KrossUi DEPS "KrossCore 
KParts" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR 
${KDE_INSTALL_INCLUDEDIR_KF5}/KrossUi)
 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})

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

Reply via email to