Hello community,

here is the log from the commit of package kcoreaddons for openSUSE:Factory 
checked in at 2016-11-17 12:28:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kcoreaddons (Old)
 and      /work/SRC/openSUSE:Factory/.kcoreaddons.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kcoreaddons"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kcoreaddons/kcoreaddons.changes  2016-10-28 
12:17:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kcoreaddons.new/kcoreaddons.changes     
2016-11-17 12:28:35.000000000 +0100
@@ -1,0 +2,10 @@
+Sat Nov  5 20:24:14 UTC 2016 - hrvoje.sen...@gmail.com
+
+- Update to 5.28.0
+  * Display bad url
+  * Load user avatars from AccountsServicePath if it exists
+    (kde#370362)
+  * For more details please see:
+    https://www.kde.org/announcements/kde-frameworks-5.28.0.php
+
+-------------------------------------------------------------------

Old:
----
  kcoreaddons-5.27.0.tar.xz

New:
----
  kcoreaddons-5.28.0.tar.xz

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

Other differences:
------------------
++++++ kcoreaddons.spec ++++++
--- /var/tmp/diff_new_pack.iB0Sx2/_old  2016-11-17 12:28:36.000000000 +0100
+++ /var/tmp/diff_new_pack.iB0Sx2/_new  2016-11-17 12:28:36.000000000 +0100
@@ -18,9 +18,9 @@
 
 %bcond_without lang
 %define lname   libKF5CoreAddons5
-%define _tar_path 5.27
+%define _tar_path 5.28
 Name:           kcoreaddons
-Version:        5.27.0
+Version:        5.28.0
 Release:        0
 BuildRequires:  cmake >= 2.8.12
 BuildRequires:  extra-cmake-modules >= %{_tar_path}

++++++ kcoreaddons-5.27.0.tar.xz -> kcoreaddons-5.28.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/CMakeLists.txt 
new/kcoreaddons-5.28.0/CMakeLists.txt
--- old/kcoreaddons-5.27.0/CMakeLists.txt       2016-10-02 11:46:45.000000000 
+0200
+++ new/kcoreaddons-5.28.0/CMakeLists.txt       2016-11-05 15:44:51.000000000 
+0100
@@ -3,7 +3,7 @@
 project(KCoreAddons)
 
 include(FeatureSummary)
-find_package(ECM 5.27.0  NO_MODULE)
+find_package(ECM 5.28.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL 
"https://projects.kde.org/projects/kdesupport/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -46,7 +46,7 @@
 
 include(ECMPoQmTools)
 
-set(KF5_VERSION "5.27.0") # handled by release scripts
+set(KF5_VERSION "5.28.0") # handled by release scripts
 
 ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KCOREADDONS
                         VERSION_HEADER 
"${CMAKE_CURRENT_BINARY_DIR}/kcoreaddons_version.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/autotests/ktexttohtmltest.cpp 
new/kcoreaddons-5.28.0/autotests/ktexttohtmltest.cpp
--- old/kcoreaddons-5.27.0/autotests/ktexttohtmltest.cpp        2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/autotests/ktexttohtmltest.cpp        2016-11-05 
15:44:51.000000000 +0100
@@ -390,8 +390,27 @@
    //Fix url exploit
    QTest::newRow("url-exec-html") << "https://\";><!--"
                                << 
KTextToHTML::Options(KTextToHTML::PreserveSpaces)
-                               << "https://\";><!--";
+                               << "https://&quot;&gt;&lt;!--";;
 
+   QTest::newRow("url-exec-html-2") << "https://192.168.1.1:\";><!--"
+                               << 
KTextToHTML::Options(KTextToHTML::PreserveSpaces)
+                               << "https://192.168.1.1:&quot;&gt;&lt;!--";;
+
+   QTest::newRow("url-exec-html-3") << "https://<IP>:\"><!--"
+                               << 
KTextToHTML::Options(KTextToHTML::PreserveSpaces)
+                               << "https://&lt;IP&gt;:&quot;&gt;&lt;!--";;
+
+   QTest::newRow("url-exec-html-4") << "https://<IP>:/\"><!--"
+                               << 
KTextToHTML::Options(KTextToHTML::PreserveSpaces)
+                               << "https://&lt;IP&gt;:/&quot;&gt;&lt;!--";;
+
+   QTest::newRow("url-exec-html-5") << 
"https://<IP>:/\"><script>alert(1);</script><!--"
+                               << 
KTextToHTML::Options(KTextToHTML::PreserveSpaces)
+                               << 
"https://&lt;IP&gt;:/&quot;&gt;&lt;script&gt;alert(1);&lt;/script&gt;&lt;!--";
+
+   QTest::newRow("url-exec-html-6") << 
"https://<IP>:/\"><script>alert(1);</script><!--\nTest2"
+                               << 
KTextToHTML::Options(KTextToHTML::PreserveSpaces)
+                               << 
"https://&lt;IP&gt;:/&quot;&gt;&lt;script&gt;alert(1);&lt;/script&gt;&lt;!--\nTest2";
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/po/el/kcoreaddons5_qt.po 
new/kcoreaddons-5.28.0/po/el/kcoreaddons5_qt.po
--- old/kcoreaddons-5.27.0/po/el/kcoreaddons5_qt.po     2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/po/el/kcoreaddons5_qt.po     2016-11-05 
15:44:51.000000000 +0100
@@ -21,7 +21,7 @@
 "Project-Id-Version: kdelibs4\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2014-03-23 01:50+0000\n"
-"PO-Revision-Date: 2016-09-28 13:50+0200\n"
+"PO-Revision-Date: 2016-11-04 17:38+0200\n"
 "Last-Translator: Dimitris Kardarakos <dimk...@gmail.com>\n"
 "Language-Team: Greek <kde-i18n...@kde.org>\n"
 "Language: el\n"
@@ -558,20 +558,16 @@
 msgstr "Χθες"
 
 #: lib/util/kformatprivate.cpp:383
-#, fuzzy, qt-format
-#| msgctxt "@option last week"
-#| msgid "Last Week"
+#, qt-format
 msgctxt "KFormat|"
 msgid "Last %1"
 msgstr "Τελευταία %1"
 
 #: lib/util/kformatprivate.cpp:388
-#, fuzzy, qt-format
-#| msgctxt "Opposite to Back"
-#| msgid "Next"
+#, qt-format
 msgctxt "KFormat|"
 msgid "Next %1"
-msgstr "Επόμενο"
+msgstr "Επόμενα %1"
 
 #. relative datetime with %1 result of formatReleativeDate() and %2 the 
formatted time If this does not fit the grammar of your language please contact 
the i18n team to solve the problem
 #: lib/util/kformatprivate.cpp:402
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/po/ko/kcoreaddons5_qt.po 
new/kcoreaddons-5.28.0/po/ko/kcoreaddons5_qt.po
--- old/kcoreaddons-5.27.0/po/ko/kcoreaddons5_qt.po     2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/po/ko/kcoreaddons5_qt.po     2016-11-05 
15:44:51.000000000 +0100
@@ -2,15 +2,15 @@
 # Copyright (C) Free Software Foundation, Inc.
 # Cho Sung Jae <cho.sung...@gmail.com>, 2007.
 # Shinjo Park <k...@peremen.name>, 2007, 2008, 2009, 2010, 2011.
-# Shinjo Park <k...@peremen.name>, 2011, 2012, 2013, 2014, 2015.
+# Shinjo Park <k...@peremen.name>, 2011, 2012, 2013, 2014, 2015, 2016.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdelibs4\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2014-03-23 01:50+0000\n"
-"PO-Revision-Date: 2015-11-07 00:27+0100\n"
-"Last-Translator: Shinjo Park <pere...@gmail.com>\n"
+"PO-Revision-Date: 2016-10-20 23:14+0100\n"
+"Last-Translator: Shinjo Park <k...@peremen.name>\n"
 "Language-Team: Korean <k...@peremen.name>\n"
 "Language: ko\n"
 "MIME-Version: 1.0\n"
@@ -104,23 +104,17 @@
 #: lib/kaboutdata.cpp:315
 msgctxt "KAboutLicense|@item license"
 msgid "GNU Lesser General Public License Version 3"
-msgstr "GNU 일반 공중 라이선스 버전 3"
+msgstr "GNU 일반 약소 공중 라이선스 버전 3"
 
 #: lib/kaboutdata.cpp:318
-#, fuzzy
-#| msgctxt "KAboutLicense|@item license (short name)"
-#| msgid "LGPL v2"
 msgctxt "KAboutLicense|@item license (short name)"
 msgid "LGPL v2.1"
-msgstr "LGPL v2"
+msgstr "LGPL v2.1"
 
 #: lib/kaboutdata.cpp:319
-#, fuzzy
-#| msgctxt "KAboutLicense|@item license"
-#| msgid "GNU Lesser General Public License Version 2"
 msgctxt "KAboutLicense|@item license"
 msgid "GNU Lesser General Public License Version 2.1"
-msgstr "GNU 일반 공중 라이선스 버전 2"
+msgstr "GNU 일반 약소 공중 라이선스 버전 2.1"
 
 #: lib/kaboutdata.cpp:323
 msgctxt "KAboutLicense|@item license"
@@ -172,12 +166,10 @@
 msgstr "이 프로그램은 익명으로 남기 위한 사람이 작성했습니다."
 
 #: lib/kaboutdata.cpp:1069
-#, fuzzy, qt-format
-#| msgctxt "KAboutData CLI|"
-#| msgid "%s was written by:\n"
+#, qt-format
 msgctxt "KAboutData CLI|"
 msgid "%1 was written by:"
-msgstr "%s 프로그램의 작성자:\n"
+msgstr "%1 프로그램의 작성자:"
 
 #: lib/kaboutdata.cpp:1080
 msgctxt "KAboutData CLI|"
@@ -185,12 +177,10 @@
 msgstr "http://bugs.kde.org 에 버그를 보고해 주십시오."
 
 #: lib/kaboutdata.cpp:1082
-#, fuzzy, qt-format
-#| msgctxt "KAboutData CLI|"
-#| msgid "Please report bugs to %s.\n"
+#, qt-format
 msgctxt "KAboutData CLI|"
 msgid "Please report bugs to %1."
-msgstr "%s(으)로 버그를 보고해 주십시오.\n"
+msgstr "%1(으)로 버그를 보고해 주십시오."
 
 #: lib/plugin/kpluginloader.cpp:122
 #, qt-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/po/nn/kcoreaddons5_qt.po 
new/kcoreaddons-5.28.0/po/nn/kcoreaddons5_qt.po
--- old/kcoreaddons-5.27.0/po/nn/kcoreaddons5_qt.po     2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/po/nn/kcoreaddons5_qt.po     2016-11-05 
15:44:51.000000000 +0100
@@ -9,7 +9,7 @@
 "Project-Id-Version: kdelibs4\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2014-02-28 03:44+0000\n"
-"PO-Revision-Date: 2016-04-24 21:22+0100\n"
+"PO-Revision-Date: 2016-10-15 09:02+0100\n"
 "Last-Translator: Karl Ove Hufthammer <k...@huftis.org>\n"
 "Language-Team: Norwegian Nynorsk <i18n...@lister.ping.uio.no>\n"
 "Language: nn\n"
@@ -113,12 +113,12 @@
 #: lib/kaboutdata.cpp:318
 msgctxt "KAboutLicense|@item license (short name)"
 msgid "LGPL v2.1"
-msgstr ""
+msgstr "LGPL v2.1"
 
 #: lib/kaboutdata.cpp:319
 msgctxt "KAboutLicense|@item license"
 msgid "GNU Lesser General Public License Version 2.1"
-msgstr ""
+msgstr "GNU Lesser General Public License versjon 2.1"
 
 #: lib/kaboutdata.cpp:323
 msgctxt "KAboutLicense|@item license"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/po/zh_CN/kcoreaddons5_qt.po 
new/kcoreaddons-5.28.0/po/zh_CN/kcoreaddons5_qt.po
--- old/kcoreaddons-5.27.0/po/zh_CN/kcoreaddons5_qt.po  2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/po/zh_CN/kcoreaddons5_qt.po  2016-11-05 
15:44:51.000000000 +0100
@@ -15,9 +15,9 @@
 "Project-Id-Version: kdelibs4\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2014-03-23 01:50+0000\n"
-"PO-Revision-Date: 2016-04-07 13:44-0800\n"
+"PO-Revision-Date: 2016-10-09 20:44-0800\n"
 "Last-Translator: Weng Xuetian <wen...@gmail.com>\n"
-"Language-Team: Chinese <kde-i18n-...@kde.org>\n"
+"Language-Team: Chinese <kde-ch...@kde.org>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -113,20 +113,14 @@
 msgstr "GNU 较宽松通用公共许可协议版本 3"
 
 #: lib/kaboutdata.cpp:318
-#, fuzzy
-#| msgctxt "KAboutLicense|@item license (short name)"
-#| msgid "LGPL v2"
 msgctxt "KAboutLicense|@item license (short name)"
 msgid "LGPL v2.1"
-msgstr "LGPL v2"
+msgstr "LGPL v2.1"
 
 #: lib/kaboutdata.cpp:319
-#, fuzzy
-#| msgctxt "KAboutLicense|@item license"
-#| msgid "GNU Lesser General Public License Version 2"
 msgctxt "KAboutLicense|@item license"
 msgid "GNU Lesser General Public License Version 2.1"
-msgstr "GNU 较宽松通用公共许可协议版本 2"
+msgstr "GNU 较宽松通用公共许可协议版本 2.1"
 
 #: lib/kaboutdata.cpp:323
 msgctxt "KAboutLicense|@item license"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/src/lib/CMakeLists.txt 
new/kcoreaddons-5.28.0/src/lib/CMakeLists.txt
--- old/kcoreaddons-5.27.0/src/lib/CMakeLists.txt       2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/src/lib/CMakeLists.txt       2016-11-05 
15:44:51.000000000 +0100
@@ -10,6 +10,9 @@
 set (KDE4_DEFAULT_HOME ".kde${_KDE4_DEFAULT_HOME_POSTFIX}" CACHE STRING "The 
default KDE home directory" )
 configure_file(util/config-kde4home.h.cmake 
${CMAKE_CURRENT_BINARY_DIR}/config-kde4home.h)
 
+set (ACCOUNTS_SERVICE_ICON_DIR "/var/lib/AccountsService/icons" CACHE STRING 
"Accounts Services icon storage directory")
+configure_file(util/config-accountsservice.h.cmake 
${CMAKE_CURRENT_BINARY_DIR}/config-accountsservice.h)
+
 ecm_create_qm_loader(kcoreaddons_QM_LOADER kcoreaddons5_qt)
 
 set(kcoreaddons_OPTIONAL_SRCS )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kcoreaddons-5.27.0/src/lib/caching/kshareddatacache_p.h 
new/kcoreaddons-5.28.0/src/lib/caching/kshareddatacache_p.h
--- old/kcoreaddons-5.27.0/src/lib/caching/kshareddatacache_p.h 2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/src/lib/caching/kshareddatacache_p.h 2016-11-05 
15:44:51.000000000 +0100
@@ -78,6 +78,10 @@
 #if defined(_POSIX_ADVISORY_INFO) && ((_POSIX_ADVISORY_INFO == 0) || 
(_POSIX_ADVISORY_INFO >= 200112L))
 #define KSDC_POSIX_FALLOCATE_SUPPORTED 1
 #endif
+#ifdef Q_OS_OSX
+#include "posix_fallocate_mac.h"
+#define KSDC_POSIX_FALLOCATE_SUPPORTED 1
+#endif
 
 // BSD/Mac OS X compat
 #if HAVE_SYS_MMAN_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kcoreaddons-5.27.0/src/lib/caching/posix_fallocate_mac.h 
new/kcoreaddons-5.28.0/src/lib/caching/posix_fallocate_mac.h
--- old/kcoreaddons-5.27.0/src/lib/caching/posix_fallocate_mac.h        
1970-01-01 01:00:00.000000000 +0100
+++ new/kcoreaddons-5.28.0/src/lib/caching/posix_fallocate_mac.h        
2016-11-05 15:44:51.000000000 +0100
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+ * ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla code.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2010
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *   Taras Glek <tg...@mozilla.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+// created from the OSX-specific code from Mozilla's mozilla::fallocation() 
function
+// of which the licensing information is copied above.
+// Adaptation (C) 2015,2016 R.J.V. Bertin
+
+
+// From Linux `man posix_fallocate`:
+// DESCRIPTION
+//        The function posix_fallocate() ensures that disk space is allocated 
for
+//        the file referred to by the descriptor fd for the bytes  in  the  
range
+//        starting  at  offset  and continuing for len bytes.  After a 
successful
+//        call to posix_fallocate(), subsequent writes to bytes in the  
specified
+//        range are guaranteed not to fail because of lack of disk space.
+// 
+//        If  the  size  of  the  file  is less than offset+len, then the file 
is
+//        increased to this size; otherwise the file size is left unchanged.
+
+// From OS X man fcntl:
+//      F_PREALLOCATE      Preallocate file storage space. Note: upon success, 
the space
+//                         that is allocated can be the same size or larger 
than the space
+//                         requested.
+//      The F_PREALLOCATE command operates on the following structure:
+//              typedef struct fstore {
+//                  u_int32_t fst_flags;      /* IN: flags word */
+//                  int       fst_posmode;    /* IN: indicates offset field */
+//                  off_t     fst_offset;     /* IN: start of the region */
+//                  off_t     fst_length;     /* IN: size of the region */
+//                  off_t     fst_bytesalloc; /* OUT: number of bytes 
allocated */
+//              } fstore_t;
+//      The flags (fst_flags) for the F_PREALLOCATE command are as follows:
+//            F_ALLOCATECONTIG   Allocate contiguous space.
+//            F_ALLOCATEALL      Allocate all requested space or no space at 
all.
+//      The position modes (fst_posmode) for the F_PREALLOCATE command 
indicate how to use
+//      the offset field.  The modes are as follows:
+//            F_PEOFPOSMODE   Allocate from the physical end of file.
+//            F_VOLPOSMODE    Allocate from the volume offset.
+
+// From OS X man ftruncate:
+// DESCRIPTION
+//      ftruncate() and truncate() cause the file named by path, or referenced 
by fildes, to
+//      be truncated (or extended) to length bytes in size. If the file size 
exceeds length,
+//      any extra data is discarded. If the file size is smaller than length, 
the file 
+//      extended and filled with zeros to the indicated length.  The 
ftruncate() form requires
+//      the file to be open for writing.
+//      Note: ftruncate() and truncate() do not modify the current file offset 
for any open
+//      file descriptions associated with the file.
+
+
+static int posix_fallocate(int fd, off_t offset, off_t len)
+{
+    off_t c_test;
+    int ret;
+    if (!__builtin_saddll_overflow(offset, len, &c_test)) {
+        fstore_t store = {F_ALLOCATECONTIG, F_PEOFPOSMODE, 0, offset + len};
+        // Try to get a continous chunk of disk space
+        fcntl(fd, F_PREALLOCATE, &store);
+        if (ret < 0) {
+            // OK, perhaps we are too fragmented, allocate non-continuous
+            store.fst_flags = F_ALLOCATEALL;
+            ret = fcntl(fd, F_PREALLOCATE, &store);
+            if (ret < 0) {
+                return ret;
+            }
+        }
+        ret = ftruncate(fd, offset + len);
+    } else {
+        // offset+len would overflow.
+        ret = -1;
+    }
+    return ret;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/src/lib/text/ktexttohtml.cpp 
new/kcoreaddons-5.28.0/src/lib/text/ktexttohtml.cpp
--- old/kcoreaddons-5.27.0/src/lib/text/ktexttohtml.cpp 2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/src/lib/text/ktexttohtml.cpp 2016-11-05 
15:44:51.000000000 +0100
@@ -423,7 +423,23 @@
                 bool badUrl = false;
                 str = helper.getUrl(&badUrl);
                 if (badUrl) {
-                    return helper.mText;
+                    QString resultBadUrl;
+                    const int helperTextSize(helper.mText.count());
+                    for (int i = 0; i < helperTextSize; ++i) {
+                        const QChar chBadUrl = helper.mText[i];
+                        if (chBadUrl == QLatin1Char('&')) {
+                            resultBadUrl += QLatin1String("&amp;");
+                        } else if (chBadUrl == QLatin1Char('"')) {
+                            resultBadUrl += QLatin1String("&quot;");
+                        } else if (chBadUrl == QLatin1Char('<')) {
+                            resultBadUrl += QLatin1String("&lt;");
+                        } else if (chBadUrl == QLatin1Char('>')) {
+                            resultBadUrl += QLatin1String("&gt;");
+                        } else {
+                            resultBadUrl += chBadUrl;
+                        }
+                    }
+                    return resultBadUrl;
                 }
                 if (!str.isEmpty()) {
                     QString hyperlink;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kcoreaddons-5.27.0/src/lib/util/config-accountsservice.h.cmake 
new/kcoreaddons-5.28.0/src/lib/util/config-accountsservice.h.cmake
--- old/kcoreaddons-5.27.0/src/lib/util/config-accountsservice.h.cmake  
1970-01-01 01:00:00.000000000 +0100
+++ new/kcoreaddons-5.28.0/src/lib/util/config-accountsservice.h.cmake  
2016-11-05 15:44:51.000000000 +0100
@@ -0,0 +1 @@
+#define ACCOUNTS_SERVICE_ICON_DIR "${ACCOUNTS_SERVICE_ICON_DIR}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcoreaddons-5.27.0/src/lib/util/kuser_unix.cpp 
new/kcoreaddons-5.28.0/src/lib/util/kuser_unix.cpp
--- old/kcoreaddons-5.27.0/src/lib/util/kuser_unix.cpp  2016-10-02 
11:46:45.000000000 +0200
+++ new/kcoreaddons-5.28.0/src/lib/util/kuser_unix.cpp  2016-11-05 
15:44:51.000000000 +0100
@@ -21,6 +21,7 @@
 
 #include "kuser.h"
 #include "config-getgrouplist.h"
+#include "config-accountsservice.h"
 
 #include <QtCore/QMutableStringListIterator>
 #include <QtCore/QDir>
@@ -183,7 +184,13 @@
 
 QString KUser::faceIconPath() const
 {
-    QString pathToFaceIcon(homeDir() + QDir::separator() + 
QStringLiteral(".face.icon"));
+    QString pathToFaceIcon(QStringLiteral(ACCOUNTS_SERVICE_ICON_DIR) + 
QLatin1Char('/') + d->loginName);
+
+    if (QFile::exists(pathToFaceIcon)) {
+        return pathToFaceIcon;
+    }
+
+    pathToFaceIcon = QString(homeDir() + QLatin1Char('/') + 
QStringLiteral(".face.icon"));
 
     if (QFile::exists(pathToFaceIcon)) {
         return pathToFaceIcon;


Reply via email to