Hello community,

here is the log from the commit of package kscreen5 for openSUSE:Factory 
checked in at 2016-05-19 12:12:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kscreen5 (Old)
 and      /work/SRC/openSUSE:Factory/.kscreen5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kscreen5"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kscreen5/kscreen5.changes        2016-05-08 
10:42:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kscreen5.new/kscreen5.changes   2016-05-19 
12:12:11.000000000 +0200
@@ -1,0 +2,8 @@
+Sun May 15 16:50:15 UTC 2016 - [email protected]
+
+- Update to 5.6.4
+  * New bugfix release
+  * For more details please see:
+    https://www.kde.org/announcements/plasma-5.6.4.php
+
+-------------------------------------------------------------------

Old:
----
  kscreen-5.6.3.tar.xz

New:
----
  kscreen-5.6.4.tar.xz

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

Other differences:
------------------
++++++ kscreen5.spec ++++++
--- /var/tmp/diff_new_pack.6PzxQ5/_old  2016-05-19 12:12:12.000000000 +0200
+++ /var/tmp/diff_new_pack.6PzxQ5/_new  2016-05-19 12:12:12.000000000 +0200
@@ -18,7 +18,7 @@
 
 %bcond_without lang
 Name:           kscreen5
-Version:        5.6.3
+Version:        5.6.4
 Release:        0
 Summary:        KDE's screen management software
 License:        GPL-2.0+

++++++ kscreen-5.6.3.tar.xz -> kscreen-5.6.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/CMakeLists.txt 
new/kscreen-5.6.4/CMakeLists.txt
--- old/kscreen-5.6.3/CMakeLists.txt    2016-04-19 13:10:55.000000000 +0200
+++ new/kscreen-5.6.4/CMakeLists.txt    2016-05-10 18:37:47.000000000 +0200
@@ -1,5 +1,5 @@
 project(KScreen)
-set(PROJECT_VERSION "5.6.3")
+set(PROJECT_VERSION "5.6.4")
 
 cmake_minimum_required(VERSION 2.8.12)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/kded/README 
new/kscreen-5.6.4/kded/README
--- old/kscreen-5.6.3/kded/README       2016-04-19 13:10:27.000000000 +0200
+++ new/kscreen-5.6.4/kded/README       2016-05-10 18:36:56.000000000 +0200
@@ -33,7 +33,7 @@
         is way more static than a notebook and the set of monitors doesn't 
change that much.
 
         -Always extend to the right
-        -When no more monitors can be anbled show KCM
+        -When no more monitors can be enabled show KCM
 
 Laptop special key:
     This key is usually used to go from mode to mode, we will implement it in 
the following order:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/kded/daemon.cpp 
new/kscreen-5.6.4/kded/daemon.cpp
--- old/kscreen-5.6.3/kded/daemon.cpp   2016-04-19 13:10:27.000000000 +0200
+++ new/kscreen-5.6.4/kded/daemon.cpp   2016-05-10 18:36:56.000000000 +0200
@@ -166,7 +166,8 @@
     qCDebug(KSCREEN_KDED) << "Applying known config" << configId;
 
     KScreen::ConfigPtr config = Serializer::config(m_monitoredConfig, 
configId);
-    if (!KScreen::Config::canBeApplied(config, 
KScreen::Config::ValidityFlag::RequireAtLeastOneEnabledScreen)) {
+    // It's possible that the Serializer returned a nullptr
+    if (!config || !KScreen::Config::canBeApplied(config, 
KScreen::Config::ValidityFlag::RequireAtLeastOneEnabledScreen)) {
         return applyIdealConfig();
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/kded/serializer.cpp 
new/kscreen-5.6.4/kded/serializer.cpp
--- old/kscreen-5.6.3/kded/serializer.cpp       2016-04-19 13:10:27.000000000 
+0200
+++ new/kscreen-5.6.4/kded/serializer.cpp       2016-05-10 18:36:56.000000000 
+0200
@@ -55,6 +55,9 @@
 
 QString Serializer::configId(const KScreen::ConfigPtr &currentConfig)
 {
+    if (!currentConfig) {
+        return QString();
+    }
     KScreen::OutputList outputs = currentConfig->outputs();
 
     QStringList hashList;
@@ -92,6 +95,7 @@
 
     QFile file(configFileName(id));
     if (!file.open(QIODevice::ReadOnly)) {
+        qCDebug(KSCREEN_KDED) << "failed to open file" << id;
         return KScreen::ConfigPtr();
     }
 
@@ -136,6 +140,9 @@
 
 bool Serializer::saveConfig(const KScreen::ConfigPtr &config, const QString 
&configId)
 {
+    if (!config || configId.isEmpty()) {
+        return false;
+    }
     const KScreen::OutputList outputs = config->outputs();
 
     QVariantList outputList;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/po/en_GB/kcm_displayconfiguration.po 
new/kscreen-5.6.4/po/en_GB/kcm_displayconfiguration.po
--- old/kscreen-5.6.3/po/en_GB/kcm_displayconfiguration.po      2016-04-19 
13:10:33.000000000 +0200
+++ new/kscreen-5.6.4/po/en_GB/kcm_displayconfiguration.po      2016-05-10 
18:37:10.000000000 +0200
@@ -1,14 +1,14 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
 #
-# , 2015.
+# Steve Allewell <[email protected]>, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2016-04-11 11:44+0000\n"
-"PO-Revision-Date: 2015-09-12 11:41+0100\n"
-"Last-Translator: \n"
+"PO-Revision-Date: 2016-04-24 16:39+0100\n"
+"Last-Translator: Steve Allewell <[email protected]>\n"
 "Language-Team: British English <[email protected]>\n"
 "Language: en_GB\n"
 "MIME-Version: 1.0\n"
@@ -173,22 +173,22 @@
 #. i18n: ectx: property (windowTitle), widget (QDialog, Scaling)
 #: src/scaling.ui:14
 msgid "Dialog"
-msgstr ""
+msgstr "Dialog"
 
 #. i18n: ectx: property (title), widget (QGroupBox, groupBox)
 #: src/scaling.ui:20
 msgid "Screen Scaling"
-msgstr ""
+msgstr "Screen Scaling"
 
 #. i18n: ectx: property (text), widget (QLabel, label)
 #: src/scaling.ui:31
 msgid "Scale:"
-msgstr ""
+msgstr "Scale:"
 
 #. i18n: ectx: property (text), widget (QLabel, scaleLabel)
 #: src/scaling.ui:72
 msgid "TextLabel"
-msgstr ""
+msgstr "TextLabel"
 
 #: src/scalingconfig.cpp:36
 msgid "Scaling changes will come into effect after restart"
@@ -197,38 +197,38 @@
 #. i18n: ectx: attribute (title), widget (QWidget, tab)
 #: src/stylepreview.ui:19
 msgid "Tab 1"
-msgstr ""
+msgstr "Tab 1"
 
 #. i18n: ectx: property (title), widget (QGroupBox, GroupBox1)
 #: src/stylepreview.ui:29
 msgid "Group Box"
-msgstr ""
+msgstr "Group Box"
 
 #. i18n: ectx: property (text), widget (QRadioButton, RadioButton1)
 #. i18n: ectx: property (text), widget (QRadioButton, RadioButton2)
 #: src/stylepreview.ui:35 src/stylepreview.ui:45
 msgid "Radio button"
-msgstr ""
+msgstr "Radio button"
 
 #. i18n: ectx: property (text), widget (QCheckBox, CheckBox1)
 #: src/stylepreview.ui:62
 msgid "Checkbox"
-msgstr ""
+msgstr "Checkbox"
 
 #. i18n: ectx: property (text), widget (QPushButton, PushButton1)
 #: src/stylepreview.ui:115
 msgid "Button"
-msgstr ""
+msgstr "Button"
 
 #. i18n: ectx: property (text), item, widget (QComboBox, ComboBox1)
 #: src/stylepreview.ui:125
 msgid "Combobox"
-msgstr ""
+msgstr "Combobox"
 
 #. i18n: ectx: attribute (title), widget (QWidget, tab)
 #: src/stylepreview.ui:155
 msgid "Tab 2"
-msgstr ""
+msgstr "Tab 2"
 
 #: src/widget.cpp:90
 msgid "Primary display:"
Files old/kscreen-5.6.3/po/en_GB/messages.mo and 
new/kscreen-5.6.4/po/en_GB/messages.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/po/gl/kcm_displayconfiguration.po 
new/kscreen-5.6.4/po/gl/kcm_displayconfiguration.po
--- old/kscreen-5.6.3/po/gl/kcm_displayconfiguration.po 2016-04-19 
13:10:37.000000000 +0200
+++ new/kscreen-5.6.4/po/gl/kcm_displayconfiguration.po 2016-05-10 
18:37:18.000000000 +0200
@@ -1,13 +1,13 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
 #
-# Adrián Chaves Fernández <[email protected]>, 2015.
+# Adrián Chaves Fernández <[email protected]>, 2015, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2016-04-11 11:44+0000\n"
-"PO-Revision-Date: 2015-08-03 07:35+0200\n"
+"PO-Revision-Date: 2016-04-28 07:17+0100\n"
 "Last-Translator: Adrián Chaves Fernández (Gallaecio) <adriyetichaves@gmail."
 "com>\n"
 "Language-Team: Galician <[email protected]>\n"
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 2.0\n"
 
 msgctxt "NAME OF TRANSLATORS"
 msgid "Your names"
@@ -178,22 +178,22 @@
 #. i18n: ectx: property (windowTitle), widget (QDialog, Scaling)
 #: src/scaling.ui:14
 msgid "Dialog"
-msgstr ""
+msgstr "Diálogo"
 
 #. i18n: ectx: property (title), widget (QGroupBox, groupBox)
 #: src/scaling.ui:20
 msgid "Screen Scaling"
-msgstr ""
+msgstr "Ampliación da pantalla"
 
 #. i18n: ectx: property (text), widget (QLabel, label)
 #: src/scaling.ui:31
 msgid "Scale:"
-msgstr ""
+msgstr "Escala:"
 
 #. i18n: ectx: property (text), widget (QLabel, scaleLabel)
 #: src/scaling.ui:72
 msgid "TextLabel"
-msgstr ""
+msgstr "Etiqueta de texto"
 
 #: src/scalingconfig.cpp:36
 msgid "Scaling changes will come into effect after restart"
@@ -202,38 +202,38 @@
 #. i18n: ectx: attribute (title), widget (QWidget, tab)
 #: src/stylepreview.ui:19
 msgid "Tab 1"
-msgstr ""
+msgstr "Lapela 1"
 
 #. i18n: ectx: property (title), widget (QGroupBox, GroupBox1)
 #: src/stylepreview.ui:29
 msgid "Group Box"
-msgstr ""
+msgstr "Grupo de opcións"
 
 #. i18n: ectx: property (text), widget (QRadioButton, RadioButton1)
 #. i18n: ectx: property (text), widget (QRadioButton, RadioButton2)
 #: src/stylepreview.ui:35 src/stylepreview.ui:45
 msgid "Radio button"
-msgstr ""
+msgstr "Alternativa"
 
 #. i18n: ectx: property (text), widget (QCheckBox, CheckBox1)
 #: src/stylepreview.ui:62
 msgid "Checkbox"
-msgstr ""
+msgstr "Opción"
 
 #. i18n: ectx: property (text), widget (QPushButton, PushButton1)
 #: src/stylepreview.ui:115
 msgid "Button"
-msgstr ""
+msgstr "Botón"
 
 #. i18n: ectx: property (text), item, widget (QComboBox, ComboBox1)
 #: src/stylepreview.ui:125
 msgid "Combobox"
-msgstr ""
+msgstr "Lista despregábel"
 
 #. i18n: ectx: attribute (title), widget (QWidget, tab)
 #: src/stylepreview.ui:155
 msgid "Tab 2"
-msgstr ""
+msgstr "Lapela 2"
 
 #: src/widget.cpp:90
 msgid "Primary display:"
Files old/kscreen-5.6.3/po/gl/messages.mo and 
new/kscreen-5.6.4/po/gl/messages.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/po/it/kcm_displayconfiguration.po 
new/kscreen-5.6.4/po/it/kcm_displayconfiguration.po
--- old/kscreen-5.6.3/po/it/kcm_displayconfiguration.po 2016-04-19 
13:10:40.000000000 +0200
+++ new/kscreen-5.6.4/po/it/kcm_displayconfiguration.po 2016-05-10 
18:37:23.000000000 +0200
@@ -7,7 +7,7 @@
 "Project-Id-Version: kcm_displayconfiguration\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2016-04-11 11:44+0000\n"
-"PO-Revision-Date: 2015-08-09 22:59+0200\n"
+"PO-Revision-Date: 2016-04-16 15:06+0200\n"
 "Last-Translator: Vincenzo Reale <[email protected]>\n"
 "Language-Team: Italian <[email protected]>\n"
 "Language: it\n"
@@ -175,22 +175,22 @@
 #. i18n: ectx: property (windowTitle), widget (QDialog, Scaling)
 #: src/scaling.ui:14
 msgid "Dialog"
-msgstr ""
+msgstr "Finestra"
 
 #. i18n: ectx: property (title), widget (QGroupBox, groupBox)
 #: src/scaling.ui:20
 msgid "Screen Scaling"
-msgstr ""
+msgstr "Ridimensionamento dello schermo"
 
 #. i18n: ectx: property (text), widget (QLabel, label)
 #: src/scaling.ui:31
 msgid "Scale:"
-msgstr ""
+msgstr "Scala:"
 
 #. i18n: ectx: property (text), widget (QLabel, scaleLabel)
 #: src/scaling.ui:72
 msgid "TextLabel"
-msgstr ""
+msgstr "EtichettaTesto"
 
 #: src/scalingconfig.cpp:36
 msgid "Scaling changes will come into effect after restart"
@@ -199,38 +199,38 @@
 #. i18n: ectx: attribute (title), widget (QWidget, tab)
 #: src/stylepreview.ui:19
 msgid "Tab 1"
-msgstr ""
+msgstr "Scheda 1"
 
 #. i18n: ectx: property (title), widget (QGroupBox, GroupBox1)
 #: src/stylepreview.ui:29
 msgid "Group Box"
-msgstr ""
+msgstr "Riquadro di gruppo"
 
 #. i18n: ectx: property (text), widget (QRadioButton, RadioButton1)
 #. i18n: ectx: property (text), widget (QRadioButton, RadioButton2)
 #: src/stylepreview.ui:35 src/stylepreview.ui:45
 msgid "Radio button"
-msgstr ""
+msgstr "Pulsante radio"
 
 #. i18n: ectx: property (text), widget (QCheckBox, CheckBox1)
 #: src/stylepreview.ui:62
 msgid "Checkbox"
-msgstr ""
+msgstr "Casella di selezione"
 
 #. i18n: ectx: property (text), widget (QPushButton, PushButton1)
 #: src/stylepreview.ui:115
 msgid "Button"
-msgstr ""
+msgstr "Pulsante"
 
 #. i18n: ectx: property (text), item, widget (QComboBox, ComboBox1)
 #: src/stylepreview.ui:125
 msgid "Combobox"
-msgstr ""
+msgstr "Casella combinata"
 
 #. i18n: ectx: attribute (title), widget (QWidget, tab)
 #: src/stylepreview.ui:155
 msgid "Tab 2"
-msgstr ""
+msgstr "Scheda 2"
 
 #: src/widget.cpp:90
 msgid "Primary display:"
Files old/kscreen-5.6.3/po/it/messages.mo and 
new/kscreen-5.6.4/po/it/messages.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/po/sk/kcm_displayconfiguration.po 
new/kscreen-5.6.4/po/sk/kcm_displayconfiguration.po
--- old/kscreen-5.6.3/po/sk/kcm_displayconfiguration.po 2016-04-19 
13:10:48.000000000 +0200
+++ new/kscreen-5.6.4/po/sk/kcm_displayconfiguration.po 2016-05-10 
18:37:37.000000000 +0200
@@ -1,11 +1,11 @@
 # translation of kcm_displayconfiguration.po Slovak
-# Roman Paholik <[email protected]>, 2015.
+# Roman Paholik <[email protected]>, 2015, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: kcm_displayconfiguration\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2016-04-11 11:44+0000\n"
-"PO-Revision-Date: 2015-08-05 20:22+0100\n"
+"PO-Revision-Date: 2016-04-27 20:44+0100\n"
 "Last-Translator: Roman Paholik <[email protected]>\n"
 "Language-Team: Slovak <[email protected]>\n"
 "Language: sk\n"
@@ -174,22 +174,22 @@
 #. i18n: ectx: property (windowTitle), widget (QDialog, Scaling)
 #: src/scaling.ui:14
 msgid "Dialog"
-msgstr ""
+msgstr "Dialóg"
 
 #. i18n: ectx: property (title), widget (QGroupBox, groupBox)
 #: src/scaling.ui:20
 msgid "Screen Scaling"
-msgstr ""
+msgstr "Škálovanie obrazovky"
 
 #. i18n: ectx: property (text), widget (QLabel, label)
 #: src/scaling.ui:31
 msgid "Scale:"
-msgstr ""
+msgstr "Mierka:"
 
 #. i18n: ectx: property (text), widget (QLabel, scaleLabel)
 #: src/scaling.ui:72
 msgid "TextLabel"
-msgstr ""
+msgstr "TextLabel"
 
 #: src/scalingconfig.cpp:36
 msgid "Scaling changes will come into effect after restart"
@@ -198,38 +198,38 @@
 #. i18n: ectx: attribute (title), widget (QWidget, tab)
 #: src/stylepreview.ui:19
 msgid "Tab 1"
-msgstr ""
+msgstr "Karta 1"
 
 #. i18n: ectx: property (title), widget (QGroupBox, GroupBox1)
 #: src/stylepreview.ui:29
 msgid "Group Box"
-msgstr ""
+msgstr "Skupinový box"
 
 #. i18n: ectx: property (text), widget (QRadioButton, RadioButton1)
 #. i18n: ectx: property (text), widget (QRadioButton, RadioButton2)
 #: src/stylepreview.ui:35 src/stylepreview.ui:45
 msgid "Radio button"
-msgstr ""
+msgstr "Prepínač"
 
 #. i18n: ectx: property (text), widget (QCheckBox, CheckBox1)
 #: src/stylepreview.ui:62
 msgid "Checkbox"
-msgstr ""
+msgstr "Zaškrtávacie pole"
 
 #. i18n: ectx: property (text), widget (QPushButton, PushButton1)
 #: src/stylepreview.ui:115
 msgid "Button"
-msgstr ""
+msgstr "Tlačidlo"
 
 #. i18n: ectx: property (text), item, widget (QComboBox, ComboBox1)
 #: src/stylepreview.ui:125
 msgid "Combobox"
-msgstr ""
+msgstr "Rozbaľovací zoznam"
 
 #. i18n: ectx: attribute (title), widget (QWidget, tab)
 #: src/stylepreview.ui:155
 msgid "Tab 2"
-msgstr ""
+msgstr "Karta 2"
 
 #: src/widget.cpp:90
 msgid "Primary display:"
Files old/kscreen-5.6.3/po/sk/messages.mo and 
new/kscreen-5.6.4/po/sk/messages.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/po/uk/kcm_displayconfiguration.po 
new/kscreen-5.6.4/po/uk/kcm_displayconfiguration.po
--- old/kscreen-5.6.3/po/uk/kcm_displayconfiguration.po 2016-04-19 
13:10:52.000000000 +0200
+++ new/kscreen-5.6.4/po/uk/kcm_displayconfiguration.po 2016-05-10 
18:37:43.000000000 +0200
@@ -1,5 +1,5 @@
 # Translation of kcm_displayconfiguration.po to Ukrainian
-# Copyright (C) 2012-2015 This_file_is_part_of_KDE
+# Copyright (C) 2012-2016 This_file_is_part_of_KDE
 # This file is distributed under the license LGPL version 2.1 or
 # version 3 or later versions approved by the membership of KDE e.V.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/tests/kded/CMakeLists.txt 
new/kscreen-5.6.4/tests/kded/CMakeLists.txt
--- old/kscreen-5.6.3/tests/kded/CMakeLists.txt 2016-04-19 13:10:27.000000000 
+0200
+++ new/kscreen-5.6.4/tests/kded/CMakeLists.txt 2016-05-10 18:36:56.000000000 
+0200
@@ -18,7 +18,7 @@
     )
 
     add_executable(${testname} ${test_SRCS})
-    add_dependencies(${testname} kded_kscreen) # make sure the dbus interfaces 
are generated
+    add_dependencies(${testname} kscreen) # make sure the dbus interfaces are 
generated
     target_compile_definitions(${testname} PRIVATE 
"-DTEST_DATA=\"${CMAKE_CURRENT_SOURCE_DIR}/\"")
     target_link_libraries(${testname} Qt5::Test Qt5::DBus Qt5::Gui KF5::Screen)
     add_test(kscreen-kded-${testname} ${testname})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kscreen-5.6.3/tests/kded/serializerdata/corruptConfig.json 
new/kscreen-5.6.4/tests/kded/serializerdata/corruptConfig.json
--- old/kscreen-5.6.3/tests/kded/serializerdata/corruptConfig.json      
1970-01-01 01:00:00.000000000 +0100
+++ new/kscreen-5.6.4/tests/kded/serializerdata/corruptConfig.json      
2016-05-10 18:36:56.000000000 +0200
@@ -0,0 +1,35 @@
+[
+    {
+        "enabled": true,
+        "id": "OUTPUT-1",
+        "metadata": {
+            "name": "OUTPUT-1"
+        },
+        "mode": {
+            "refresh": 60.0,
+            "size": {
+                "height": 1080,
+                "width": 1920
+            }
+        },
+        "pos": {
+            "x": 0,
+            "y": 0
+        },
+        "primary": true,
+        "rotation": 1
+    },
+    {
+        "enabled": true,
+        "id": "OUTPUT-2",
+        "metadata": {
+            "name": "OUTPUT-2"
+        },
+        "mode": {
+            "refresh": 60,
+            "size": {
+                "height": 1024,
+                "width": 1280
+            }
+        },
+        "po
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kscreen-5.6.3/tests/kded/serializerdata/corruptEmptyConfig.json 
new/kscreen-5.6.4/tests/kded/serializerdata/corruptEmptyConfig.json
--- old/kscreen-5.6.3/tests/kded/serializerdata/corruptEmptyConfig.json 
1970-01-01 01:00:00.000000000 +0100
+++ new/kscreen-5.6.4/tests/kded/serializerdata/corruptEmptyConfig.json 
2016-05-10 18:36:56.000000000 +0200
@@ -0,0 +1,2 @@
+[
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kscreen-5.6.3/tests/kded/serializerdata/corruptUselessConfig.json 
new/kscreen-5.6.4/tests/kded/serializerdata/corruptUselessConfig.json
--- old/kscreen-5.6.3/tests/kded/serializerdata/corruptUselessConfig.json       
1970-01-01 01:00:00.000000000 +0100
+++ new/kscreen-5.6.4/tests/kded/serializerdata/corruptUselessConfig.json       
2016-05-10 18:36:56.000000000 +0200
@@ -0,0 +1,31 @@
+[
+    {
+        "enabled": true,
+        "pos": {
+            "x": 0,
+            "y": 0
+        },
+        "primary": true,
+        "rotation": 1
+    },
+    {
+        "enabled": true,
+        "id": "OUTPUT-2",
+        "metadata": {
+            "name": "OUTPUT-2"
+        },
+        "mode": {
+            "refresh": 60,
+            "size": {
+                "height": 1024,
+                "width": 1280
+            }
+        },
+        "pos": {
+            "x": 1920,
+            "y": 0
+        },
+        "primary": false,
+        "rotation": 1
+    }
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/tests/kded/serializertest.cpp 
new/kscreen-5.6.4/tests/kded/serializertest.cpp
--- old/kscreen-5.6.3/tests/kded/serializertest.cpp     2016-04-19 
13:10:27.000000000 +0200
+++ new/kscreen-5.6.4/tests/kded/serializertest.cpp     2016-05-10 
18:36:56.000000000 +0200
@@ -39,6 +39,11 @@
     void testTwoScreenConfig();
     void testRotatedScreenConfig();
     void testDisabledScreenConfig();
+    void testConfig404();
+    void testCorruptConfig();
+    void testCorruptEmptyConfig();
+    void testCorruptUselessConfig();
+    void testNullConfig();
 
 private:
     KScreen::ConfigPtr createConfig(bool output1Connected, bool 
output2Conected);
@@ -201,6 +206,57 @@
     QCOMPARE(screen->currentSize(), QSize(1920, 1280));
 }
 
+void TestSerializer::testConfig404()
+{
+    KScreen::ConfigPtr config = createConfig(true, true);
+    config = Serializer::config(config, 
QStringLiteral("filenotfoundConfig.json"));
+    QVERIFY(!config);
+    QVERIFY(config.isNull());
+}
+
+void TestSerializer::testCorruptConfig()
+{
+    KScreen::ConfigPtr config = createConfig(true, true);
+    config = Serializer::config(config, QStringLiteral("corruptConfig.json"));
+    QVERIFY(config);
+    QCOMPARE(config->outputs().count(), 2);
+    QVERIFY(config->isValid());
+}
+
+void TestSerializer::testCorruptEmptyConfig()
+{
+    KScreen::ConfigPtr config = createConfig(true, true);
+    config = Serializer::config(config, 
QStringLiteral("corruptEmptyConfig.json"));
+    QVERIFY(config);
+    QCOMPARE(config->outputs().count(), 2);
+    QVERIFY(config->isValid());
+}
+
+void TestSerializer::testCorruptUselessConfig()
+{
+    KScreen::ConfigPtr config = createConfig(true, true);
+    config = Serializer::config(config, 
QStringLiteral("corruptUselessConfig.json"));
+    QVERIFY(config);
+    QCOMPARE(config->outputs().count(), 2);
+    QVERIFY(config->isValid());
+}
+
+void TestSerializer::testNullConfig()
+{
+    KScreen::ConfigPtr nullConfig;
+    QVERIFY(!nullConfig);
+
+    // Null configs have empty configIds
+    QVERIFY(Serializer::configId(nullConfig).isEmpty());
+
+    // Load config from a file not found results in a nullptr
+    KScreen::ConfigPtr config = createConfig(true, true);
+    QVERIFY(!Serializer::config(config, QString()));
+
+    // Wrong config file name should fail to save
+    QCOMPARE(Serializer::saveConfig(config, QString()), false);
+}
+
 QTEST_MAIN(TestSerializer)
 
 #include "serializertest.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kscreen-5.6.3/tests/kded/testgenerator.cpp 
new/kscreen-5.6.4/tests/kded/testgenerator.cpp
--- old/kscreen-5.6.3/tests/kded/testgenerator.cpp      2016-04-19 
13:10:27.000000000 +0200
+++ new/kscreen-5.6.4/tests/kded/testgenerator.cpp      2016-05-10 
18:36:56.000000000 +0200
@@ -60,7 +60,7 @@
     KScreen::BackendManager::instance()->shutdownBackend();
 
     QByteArray path(TEST_DATA "configs/" + fileName);
-    qputenv("TEST_DATA", path);
+    qputenv("KSCREEN_BACKEND_ARGS", "TEST_DATA=" + path);
     qDebug() << path;
 
     KScreen::GetConfigOperation *op = new KScreen::GetConfigOperation;


Reply via email to