Hello community,

here is the log from the commit of package evolution-ews for openSUSE:Factory 
checked in at 2016-11-10 13:10:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/evolution-ews (Old)
 and      /work/SRC/openSUSE:Factory/.evolution-ews.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "evolution-ews"

Changes:
--------
--- /work/SRC/openSUSE:Factory/evolution-ews/evolution-ews.changes      
2016-10-18 10:28:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.evolution-ews.new/evolution-ews.changes 
2016-11-10 13:10:47.000000000 +0100
@@ -1,0 +2,7 @@
+Mon Nov  7 09:30:16 UTC 2016 - [email protected]
+
+- Update to version 3.22.2:
+  + Runtime warnings when calling ResolveNames.
+  + Bugs fixed: bgo#770936, bgo#738093, bgo#773379.
+
+-------------------------------------------------------------------

Old:
----
  evolution-ews-3.22.1.tar.xz

New:
----
  evolution-ews-3.22.2.tar.xz

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

Other differences:
------------------
++++++ evolution-ews.spec ++++++
--- /var/tmp/diff_new_pack.O1QL8Y/_old  2016-11-10 13:10:48.000000000 +0100
+++ /var/tmp/diff_new_pack.O1QL8Y/_new  2016-11-10 13:10:48.000000000 +0100
@@ -19,7 +19,7 @@
 Name:           evolution-ews
 # This should be updated upon major version changes; it should match 
BASE_VERSION as defined in configure.in.
 %define evolution_base_version 3.22
-Version:        3.22.1
+Version:        3.22.2
 Release:        0
 Summary:        Exchange Connector for Evolution, compatible with Exchange 
2007 and later
 License:        LGPL-2.1

++++++ evolution-ews-3.22.1.tar.xz -> evolution-ews-3.22.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/Makefile.in 
new/evolution-ews-3.22.2/Makefile.in
--- old/evolution-ews-3.22.1/Makefile.in        2016-10-10 11:00:06.000000000 
+0200
+++ new/evolution-ews-3.22.2/Makefile.in        2016-11-07 10:13:51.000000000 
+0100
@@ -259,6 +259,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -776,7 +777,7 @@
          ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
        || chmod -R a+r "$(distdir)"
 dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c 
>$(distdir).tar.gz
        $(am__post_remove_distdir)
 
 dist-bzip2: distdir
@@ -801,7 +802,7 @@
        @echo WARNING: "Support for shar distribution archives is" \
                       "deprecated." >&2
        @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
        $(am__post_remove_distdir)
 
 dist-zip: distdir
@@ -819,7 +820,7 @@
 distcheck: dist
        case '$(DIST_ARCHIVES)' in \
        *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
        *.tar.lz*) \
@@ -829,7 +830,7 @@
        *.tar.Z*) \
          uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
        *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/NEWS 
new/evolution-ews-3.22.2/NEWS
--- old/evolution-ews-3.22.1/NEWS       2016-10-10 10:59:35.000000000 +0200
+++ new/evolution-ews-3.22.2/NEWS       2016-11-07 10:11:01.000000000 +0100
@@ -1,3 +1,14 @@
+Evolution-EWS 3.22.2 2016-11-07
+-------------------------------
+
+Bug Fixes:
+       Bug 770936 - BAD REQUEST due to empty Categories element (Milan Crha)
+       Bug 738093 - Show folder names with slash properly ][ (Milan Crha)
+       Bug 773379 - Cannot add more than one user into folder permissions 
(Milan Crha)
+
+Miscellaneous:
+       Runtime warnings when calling ResolveNames (Milan Crha)
+
 Evolution-EWS 3.22.1 2016-10-10
 -------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/aclocal.m4 
new/evolution-ews-3.22.2/aclocal.m4
--- old/evolution-ews-3.22.1/aclocal.m4 2016-10-10 11:00:04.000000000 +0200
+++ new/evolution-ews-3.22.2/aclocal.m4 2016-11-07 10:13:49.000000000 +0100
@@ -31,9 +31,9 @@
 # DESCRIPTION
 #
 #   Defines CODE_COVERAGE_CPPFLAGS, CODE_COVERAGE_CFLAGS,
-#   CODE_COVERAGE_CXXFLAGS and CODE_COVERAGE_LDFLAGS which should be
-#   included in the CPPFLAGS, CFLAGS CXXFLAGS and LIBS/LDFLAGS variables of
-#   every build target (program or library) which should be built with code
+#   CODE_COVERAGE_CXXFLAGS and CODE_COVERAGE_LIBS which should be included
+#   in the CPPFLAGS, CFLAGS CXXFLAGS and LIBS/LIBADD variables of every
+#   build target (program or library) which should be built with code
 #   coverage support. Also defines CODE_COVERAGE_RULES which should be
 #   substituted in your Makefile; and $enable_code_coverage which can be
 #   used in subsequent configure output. CODE_COVERAGE_ENABLED is defined
@@ -55,7 +55,7 @@
 #   Makefile.am:
 #
 #     @CODE_COVERAGE_RULES@
-#     my_program_LIBS = ... $(CODE_COVERAGE_LDFLAGS) ...
+#     my_program_LIBS = ... $(CODE_COVERAGE_LIBS) ...
 #     my_program_CPPFLAGS = ... $(CODE_COVERAGE_CPPFLAGS) ...
 #     my_program_CFLAGS = ... $(CODE_COVERAGE_CFLAGS) ...
 #     my_program_CXXFLAGS = ... $(CODE_COVERAGE_CXXFLAGS) ...
@@ -67,6 +67,11 @@
 #   (`make check`) and build a code coverage report detailing the code which
 #   was touched, then print the URI for the report.
 #
+#   In earlier versions of this macro, CODE_COVERAGE_LDFLAGS was defined
+#   instead of CODE_COVERAGE_LIBS. They are both still defined, but use of
+#   CODE_COVERAGE_LIBS is preferred for clarity; CODE_COVERAGE_LDFLAGS is
+#   deprecated. They have the same value.
+#
 #   This code was derived from Makefile.decl in GLib, originally licenced
 #   under LGPLv2.1+.
 #
@@ -92,7 +97,7 @@
 #   You should have received a copy of the GNU Lesser General Public License
 #   along with this program. If not, see <http://www.gnu.org/licenses/>.
 
-#serial 15
+#serial 17
 
 AC_DEFUN([AX_CODE_COVERAGE],[
        dnl Check for --enable-code-coverage
@@ -162,14 +167,17 @@
                ])
 
                dnl Build the code coverage flags
+               dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility
                CODE_COVERAGE_CPPFLAGS="-DNDEBUG"
                CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
                CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
                CODE_COVERAGE_LDFLAGS="-lgcov"
+               CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS"
 
                AC_SUBST([CODE_COVERAGE_CPPFLAGS])
                AC_SUBST([CODE_COVERAGE_CFLAGS])
                AC_SUBST([CODE_COVERAGE_CXXFLAGS])
+               AC_SUBST([CODE_COVERAGE_LIBS])
                AC_SUBST([CODE_COVERAGE_LDFLAGS])
        ])
 
@@ -275,10 +283,11 @@
 
 ifeq ($(CODE_COVERAGE_ENABLED),yes)
 clean: code-coverage-clean
+distclean: code-coverage-clean
 code-coverage-clean:
        -$(LCOV) --directory $(top_builddir) -z
        -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp 
$(CODE_COVERAGE_OUTPUT_DIRECTORY)
-       -find . -name "*.gcda" -o -name "*.gcov" -delete
+       -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete
 endif
 
 GITIGNOREFILES ?=
@@ -986,8 +995,8 @@
 See: 
http://www.gnu.org/software/autoconf-archive/ax_code_coverage.html#ax_code_coverage]])
 
 # nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 Free Software Foundation,
-dnl Inc.
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software
+dnl Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -1019,7 +1028,7 @@
 ])
 
 dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
-dnl serial 11 (pkg-config-0.29)
+dnl serial 11 (pkg-config-0.29.1)
 dnl
 dnl Copyright © 2004 Scott James Remnant <[email protected]>.
 dnl Copyright © 2012-2015 Dan Nicholson <[email protected]>
@@ -1061,7 +1070,7 @@
 dnl See the "Since" comment for each macro you use to see what version
 dnl of the macros you require.
 m4_defun([PKG_PREREQ],
-[m4_define([PKG_MACROS_VERSION], [0.29])
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
 m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
     [m4_fatal([pkg.m4 version $1 or higher is required but 
]PKG_MACROS_VERSION[ found])])
 ])dnl PKG_PREREQ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/configure 
new/evolution-ews-3.22.2/configure
--- old/evolution-ews-3.22.1/configure  2016-10-10 11:00:05.000000000 +0200
+++ new/evolution-ews-3.22.2/configure  2016-11-07 10:13:50.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for evolution-ews 3.22.1.
+# Generated by GNU Autoconf 2.69 for evolution-ews 3.22.2.
 #
 # Report bugs to <http://bugzilla.gnome.org/browse.cgi?product=evolution-ews>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='evolution-ews'
 PACKAGE_TARNAME='evolution-ews'
-PACKAGE_VERSION='3.22.1'
-PACKAGE_STRING='evolution-ews 3.22.1'
+PACKAGE_VERSION='3.22.2'
+PACKAGE_STRING='evolution-ews 3.22.2'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/browse.cgi?product=evolution-ews'
 PACKAGE_URL=''
 
@@ -713,6 +713,7 @@
 GNOME_CODE_COVERAGE_RULES
 CODE_COVERAGE_RULES
 CODE_COVERAGE_LDFLAGS
+CODE_COVERAGE_LIBS
 CODE_COVERAGE_CXXFLAGS
 CODE_COVERAGE_CFLAGS
 CODE_COVERAGE_CPPFLAGS
@@ -1520,7 +1521,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures evolution-ews 3.22.1 to adapt to many kinds of systems.
+\`configure' configures evolution-ews 3.22.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1590,7 +1591,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of evolution-ews 3.22.1:";;
+     short | recursive ) echo "Configuration of evolution-ews 3.22.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1796,7 +1797,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-evolution-ews configure 3.22.1
+evolution-ews configure 3.22.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2165,7 +2166,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by evolution-ews $as_me 3.22.1, which was
+It was created by evolution-ews $as_me 3.22.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3028,7 +3029,7 @@
 
 # Define the identity of the package.
  PACKAGE='evolution-ews'
- VERSION='3.22.1'
+ VERSION='3.22.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3267,11 +3268,11 @@
 # precisely one minor behind [ews_version], then allow building against *that*
 # version of EDS and Evo.
 read x NEWSVER y < NEWS
-PREVVER=3.22.$(expr 1 - 1)
+PREVVER=3.22.$(expr 2 - 1)
 if test "$PREVVER" = "$NEWSVER"; then
    EVOREQVER=$PREVVER
 else
-   EVOREQVER=3.22.1
+   EVOREQVER=3.22.2
 fi
 
 
@@ -15122,10 +15123,12 @@
 
 fi
 
-                               CODE_COVERAGE_CPPFLAGS="-DNDEBUG"
+                                               
CODE_COVERAGE_CPPFLAGS="-DNDEBUG"
                CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
                CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
                CODE_COVERAGE_LDFLAGS="-lgcov"
+               CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS"
+
 
 
 
@@ -15236,10 +15239,11 @@
 
 ifeq ($(CODE_COVERAGE_ENABLED),yes)
 clean: code-coverage-clean
+distclean: code-coverage-clean
 code-coverage-clean:
        -$(LCOV) --directory $(top_builddir) -z
        -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp 
$(CODE_COVERAGE_OUTPUT_DIRECTORY)
-       -find . -name "*.gcda" -o -name "*.gcov" -delete
+       -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete
 endif
 
 GITIGNOREFILES ?=
@@ -17961,7 +17965,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by evolution-ews $as_me 3.22.1, which was
+This file was extended by evolution-ews $as_me 3.22.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18027,7 +18031,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-evolution-ews config.status 3.22.1
+evolution-ews config.status 3.22.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/configure.ac 
new/evolution-ews-3.22.2/configure.ac
--- old/evolution-ews-3.22.1/configure.ac       2016-09-19 10:31:12.000000000 
+0200
+++ new/evolution-ews-3.22.2/configure.ac       2016-10-10 11:02:18.000000000 
+0200
@@ -1,7 +1,7 @@
 dnl Evolution-EWS version
 m4_define([ews_major_version], [3])
 m4_define([ews_minor_version], [22])
-m4_define([ews_micro_version], [1])
+m4_define([ews_micro_version], [2])
 
 m4_define([ews_version],
        [ews_major_version.ews_minor_version.ews_micro_version])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/Makefile.in 
new/evolution-ews-3.22.2/src/Makefile.in
--- old/evolution-ews-3.22.1/src/Makefile.in    2016-10-10 11:00:06.000000000 
+0200
+++ new/evolution-ews-3.22.2/src/Makefile.in    2016-11-07 10:13:51.000000000 
+0100
@@ -206,6 +206,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/addressbook/Makefile.in 
new/evolution-ews-3.22.2/src/addressbook/Makefile.in
--- old/evolution-ews-3.22.1/src/addressbook/Makefile.in        2016-10-10 
11:00:06.000000000 +0200
+++ new/evolution-ews-3.22.2/src/addressbook/Makefile.in        2016-11-07 
10:13:51.000000000 +0100
@@ -277,6 +277,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.22.1/src/addressbook/e-book-backend-ews.c 
new/evolution-ews-3.22.2/src/addressbook/e-book-backend-ews.c
--- old/evolution-ews-3.22.1/src/addressbook/e-book-backend-ews.c       
2016-09-19 10:30:54.000000000 +0200
+++ new/evolution-ews-3.22.2/src/addressbook/e-book-backend-ews.c       
2016-10-24 22:43:22.000000000 +0200
@@ -3528,7 +3528,7 @@
        }
 
        g_slist_free_full (mailboxes, (GDestroyNotify) e_ews_mailbox_free);
-       g_slist_free_full (contacts, g_object_unref);
+       e_util_free_nullable_object_slist (contacts);
  out:
        e_data_book_view_notify_complete (book_view, error);
        g_clear_error (&error);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/calendar/Makefile.in 
new/evolution-ews-3.22.2/src/calendar/Makefile.in
--- old/evolution-ews-3.22.1/src/calendar/Makefile.in   2016-10-10 
11:00:06.000000000 +0200
+++ new/evolution-ews-3.22.2/src/calendar/Makefile.in   2016-11-07 
10:13:51.000000000 +0100
@@ -241,6 +241,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.22.1/src/calendar/e-cal-backend-ews-utils.c 
new/evolution-ews-3.22.2/src/calendar/e-cal-backend-ews-utils.c
--- old/evolution-ews-3.22.1/src/calendar/e-cal-backend-ews-utils.c     
2015-09-21 11:59:31.000000000 +0200
+++ new/evolution-ews-3.22.2/src/calendar/e-cal-backend-ews-utils.c     
2016-10-18 12:57:43.000000000 +0200
@@ -1209,18 +1209,28 @@
        if (!categ_list)
                return;
 
-       e_soap_message_start_element (msg, "Categories", NULL, NULL);
-
-       for (citer = categ_list; citer;  citer = g_slist_next (citer)) {
+       /* Categories cannot be empty, thus first verify they are not */
+       for (citer = categ_list; citer; citer = g_slist_next (citer)) {
                const gchar *category = citer->data;
 
-               if (!category || !*category)
-                       continue;
-
-               e_ews_message_write_string_parameter (msg, "String", NULL, 
category);
+               if (category && *category)
+                       break;
        }
 
-       e_soap_message_end_element (msg); /* Categories */
+       if (citer) {
+               e_soap_message_start_element (msg, "Categories", NULL, NULL);
+
+               for (citer = categ_list; citer; citer = g_slist_next (citer)) {
+                       const gchar *category = citer->data;
+
+                       if (!category || !*category)
+                               continue;
+
+                       e_ews_message_write_string_parameter (msg, "String", 
NULL, category);
+               }
+
+               e_soap_message_end_element (msg); /* Categories */
+       }
 
        e_cal_component_free_categories_list (categ_list);
 }
@@ -1506,20 +1516,34 @@
        g_return_if_fail (base_elem_name != NULL);
 
        e_cal_component_get_categories_list (comp, &categ_list);
-       e_ews_message_start_set_item_field (msg, "Categories", "item", 
base_elem_name);
-       e_soap_message_start_element (msg, "Categories", NULL, NULL);
 
-       for (citer = categ_list; citer;  citer = g_slist_next (citer)) {
-               const gchar *category = citer->data;
+       /* Categories cannot be empty, thus first verify they are not */
 
-               if (!category || !*category)
-                       continue;
+       for (citer = categ_list; citer; citer = g_slist_next (citer)) {
+               const gchar *category = citer->data;
 
-               e_ews_message_write_string_parameter (msg, "String", NULL, 
category);
+               if (category && *category)
+                       break;
        }
 
-       e_soap_message_end_element (msg); /* Categories */
-       e_ews_message_end_set_item_field (msg);
+       if (citer) {
+               e_ews_message_start_set_item_field (msg, "Categories", "item", 
base_elem_name);
+               e_soap_message_start_element (msg, "Categories", NULL, NULL);
+
+               for (citer = categ_list; citer; citer = g_slist_next (citer)) {
+                       const gchar *category = citer->data;
+
+                       if (!category || !*category)
+                               continue;
+
+                       e_ews_message_write_string_parameter (msg, "String", 
NULL, category);
+               }
+
+               e_soap_message_end_element (msg); /* Categories */
+               e_ews_message_end_set_item_field (msg);
+       } else {
+               e_ews_message_add_delete_item_field (msg, "Categories", "item");
+       }
 
        e_cal_component_free_categories_list (categ_list);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/camel/Makefile.in 
new/evolution-ews-3.22.2/src/camel/Makefile.in
--- old/evolution-ews-3.22.1/src/camel/Makefile.in      2016-10-10 
11:00:06.000000000 +0200
+++ new/evolution-ews-3.22.2/src/camel/Makefile.in      2016-11-07 
10:13:51.000000000 +0100
@@ -265,6 +265,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/camel/camel-ews-folder.c 
new/evolution-ews-3.22.2/src/camel/camel-ews-folder.c
--- old/evolution-ews-3.22.1/src/camel/camel-ews-folder.c       2016-09-19 
10:30:54.000000000 +0200
+++ new/evolution-ews-3.22.2/src/camel/camel-ews-folder.c       2016-10-18 
12:57:43.000000000 +0200
@@ -923,6 +923,7 @@
 
        for (iter = mi_list; iter; iter = g_slist_next (iter)) {
                guint32 flags_changed;
+               GSList *user_flags;
 
                mi = iter->data;
 
@@ -983,20 +984,33 @@
                }
 
                /* now update the Categories */
-               e_soap_message_start_element (msg, "SetItemField", NULL, NULL);
+               user_flags = ews_utils_gather_server_user_flags (msg, mi);
+               if (user_flags) {
+                       GSList *link;
 
-               e_soap_message_start_element (msg, "FieldURI", NULL, NULL);
-               e_soap_message_add_attribute (msg, "FieldURI", 
"item:Categories", NULL, NULL);
-               e_soap_message_end_element (msg);
+                       e_soap_message_start_element (msg, "SetItemField", 
NULL, NULL);
+
+                       e_soap_message_start_element (msg, "FieldURI", NULL, 
NULL);
+                       e_soap_message_add_attribute (msg, "FieldURI", 
"item:Categories", NULL, NULL);
+                       e_soap_message_end_element (msg);
+
+                       e_soap_message_start_element (msg, "Message", NULL, 
NULL);
+                       e_soap_message_start_element (msg, "Categories", NULL, 
NULL);
+
+                       for (link = user_flags; link; link = g_slist_next 
(link)) {
+                               const gchar *user_flag = link->data;
 
-               e_soap_message_start_element (msg, "Message", NULL, NULL);
-               e_soap_message_start_element (msg, "Categories", NULL, NULL);
+                               e_ews_message_write_string_parameter (msg, 
"String", NULL, user_flag);
+                       }
 
-               ews_utils_replace_server_user_flags (msg, mi);
+                       e_soap_message_end_element (msg); /* Categories */
+                       e_soap_message_end_element (msg); /* Message */
+                       e_soap_message_end_element (msg); /* SetItemField */
+               } else {
+                       e_ews_message_add_delete_item_field (msg, "Categories", 
"item");
+               }
 
-               e_soap_message_end_element (msg); /* Categories */
-               e_soap_message_end_element (msg); /* Message */
-               e_soap_message_end_element (msg); /* SetItemField */
+               g_slist_free_full (user_flags, g_free);
 
                ews_utils_update_followup_flags (msg, (CamelMessageInfo *) mi);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.22.1/src/camel/camel-ews-store-summary.c 
new/evolution-ews-3.22.2/src/camel/camel-ews-store-summary.c
--- old/evolution-ews-3.22.1/src/camel/camel-ews-store-summary.c        
2015-09-21 11:59:31.000000000 +0200
+++ new/evolution-ews-3.22.2/src/camel/camel-ews-store-summary.c        
2016-10-19 18:58:05.000000000 +0200
@@ -14,7 +14,7 @@
 #define S_UNLOCK(x) (g_rec_mutex_unlock(&(x)->priv->s_lock))
 
 #define STORE_GROUP_NAME "##storepriv"
-#define CURRENT_SUMMARY_VERSION 2
+#define CURRENT_SUMMARY_VERSION 3
 
 struct _CamelEwsStoreSummaryPrivate {
        GKeyFile *key_file;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/camel/camel-ews-store.c 
new/evolution-ews-3.22.2/src/camel/camel-ews-store.c
--- old/evolution-ews-3.22.1/src/camel/camel-ews-store.c        2016-09-19 
10:30:54.000000000 +0200
+++ new/evolution-ews-3.22.2/src/camel/camel-ews-store.c        2016-10-19 
18:58:05.000000000 +0200
@@ -1562,7 +1562,7 @@
                                        camel_ews_store_summary_new_folder (
                                                ews_store->summary,
                                                folder_id->id, parent_fid ? 
parent_fid->id : euf->folder_id, folder_id->change_key,
-                                               e_ews_folder_get_name (folder), 
E_EWS_FOLDER_TYPE_MAILBOX,
+                                               e_ews_folder_get_escaped_name 
(folder), E_EWS_FOLDER_TYPE_MAILBOX,
                                                CAMEL_FOLDER_SUBSCRIBED, 
e_ews_folder_get_total_count (folder), TRUE, FALSE);
 
                                        fi = camel_ews_utils_build_folder_info 
(ews_store, folder_id->id);
@@ -3148,7 +3148,8 @@
                                break;
                        }
 
-                       if (g_strcmp0 (e_ews_folder_get_name (subf), fname) == 
0) {
+                       if (g_strcmp0 (e_ews_folder_get_name (subf), fname) == 
0 ||
+                           g_strcmp0 (e_ews_folder_get_escaped_name (subf), 
fname) == 0) {
                                parent_id = e_ews_folder_get_parent_id (subf);
                                if (!folder && (!parent_id || g_strcmp0 
(parent_id->id, EWS_PUBLIC_FOLDER_ROOT_ID) == 0)) {
                                        folder = subf;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/camel/camel-ews-utils.c 
new/evolution-ews-3.22.2/src/camel/camel-ews-utils.c
--- old/evolution-ews-3.22.1/src/camel/camel-ews-utils.c        2016-09-19 
10:30:54.000000000 +0200
+++ new/evolution-ews-3.22.2/src/camel/camel-ews-utils.c        2016-10-19 
18:58:05.000000000 +0200
@@ -190,7 +190,7 @@
                }
 
                pfid = e_ews_folder_get_parent_id (ews_folder);
-               display_name = g_strdup (e_ews_folder_get_name (ews_folder));
+               display_name = g_strdup (e_ews_folder_get_escaped_name 
(ews_folder));
 
                /* If the folder is moved or renamed (which are separate
                 * operations in Exchange, unfortunately, then the name
@@ -265,7 +265,7 @@
 
        fid = e_ews_folder_get_id (folder);
        pfid = e_ews_folder_get_parent_id (folder);
-       dname = e_ews_folder_get_name (folder);
+       dname = e_ews_folder_get_escaped_name (folder);
        total = e_ews_folder_get_total_count (folder);
        unread = e_ews_folder_get_unread_count (folder);
        ftype = e_ews_folder_get_folder_type (folder);
@@ -422,10 +422,13 @@
                g_str_equal (name, "$has-cal");
 }
 
-void
-ews_utils_replace_server_user_flags (ESoapMessage *msg,
-                                     CamelEwsMessageInfo *mi)
+/* free with g_slist_free_full (flags, g_free);
+   the lists' members are values for the String xml element. */
+GSList *
+ews_utils_gather_server_user_flags (ESoapMessage *msg,
+                                   CamelEwsMessageInfo *mi)
 {
+       GSList *user_flags = NULL;
        const CamelFlag *flag;
 
        /* transfer camel flags to become the categories as an XML
@@ -441,8 +444,10 @@
                if (ews_utils_is_system_user_flag (n))
                        continue;
 
-               e_ews_message_write_string_parameter (msg, "String", NULL, n);
+               user_flags = g_slist_prepend (user_flags, g_strdup (n));
        }
+
+       return g_slist_reverse (user_flags);
 }
 
 static void
@@ -995,13 +1000,13 @@
        if (dueby && *dueby)
                dueby_tt = camel_header_decode_date (dueby, NULL);
 
-       /* PidTagFlagStatus */
-       e_ews_message_add_set_item_field_extended_tag_int (msg, NULL, 
"Message", 0x1090,
-               followup ? (completed_tt != (time_t) 0 ? 0x01 /* 
followupComplete */: 0x02 /* followupFlagged */) : 0x0);
-
        if (followup) {
                time_t now_tt = time (NULL);
 
+               /* PidTagFlagStatus */
+               e_ews_message_add_set_item_field_extended_tag_int (msg, NULL, 
"Message", 0x1090,
+                       completed_tt != (time_t) 0 ? 0x01 /* followupComplete 
*/: 0x02 /* followupFlagged */);
+
                /* PidLidFlagRequest */
                
e_ews_message_add_set_item_field_extended_distinguished_tag_string (msg, NULL, 
"Message", "Common", 0x8530, followup);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/camel/camel-ews-utils.h 
new/evolution-ews-3.22.2/src/camel/camel-ews-utils.h
--- old/evolution-ews-3.22.1/src/camel/camel-ews-utils.h        2015-03-23 
08:28:34.000000000 +0100
+++ new/evolution-ews-3.22.2/src/camel/camel-ews-utils.h        2016-10-18 
12:57:43.000000000 +0200
@@ -74,7 +74,7 @@
                                                (CamelEwsFolder *ews_folder,
                                                 GSList *items_updated,
                                                 CamelFolderChangeInfo 
*change_info);
-void           ews_utils_replace_server_user_flags
+GSList *       ews_utils_gather_server_user_flags
                                                (ESoapMessage *msg,
                                                 CamelEwsMessageInfo *mi);
 void           ews_utils_update_followup_flags (ESoapMessage *msg,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/collection/Makefile.in 
new/evolution-ews-3.22.2/src/collection/Makefile.in
--- old/evolution-ews-3.22.1/src/collection/Makefile.in 2016-10-10 
11:00:06.000000000 +0200
+++ new/evolution-ews-3.22.2/src/collection/Makefile.in 2016-11-07 
10:13:51.000000000 +0100
@@ -237,6 +237,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/configuration/Makefile.in 
new/evolution-ews-3.22.2/src/configuration/Makefile.in
--- old/evolution-ews-3.22.1/src/configuration/Makefile.in      2016-10-10 
11:00:06.000000000 +0200
+++ new/evolution-ews-3.22.2/src/configuration/Makefile.in      2016-11-07 
10:13:51.000000000 +0100
@@ -255,6 +255,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.22.1/src/configuration/e-ews-edit-folder-permissions.c 
new/evolution-ews-3.22.2/src/configuration/e-ews-edit-folder-permissions.c
--- old/evolution-ews-3.22.1/src/configuration/e-ews-edit-folder-permissions.c  
2015-03-23 08:28:34.000000000 +0100
+++ new/evolution-ews-3.22.2/src/configuration/e-ews-edit-folder-permissions.c  
2016-10-24 22:38:53.000000000 +0200
@@ -580,7 +580,7 @@
                                        COL_E_EWS_PERMISSION_USER_TYPE, &ut,
                                        -1);
 
-                               if (ut == E_EWS_PERMISSION_USER_TYPE_REGULAR && 
perm && g_strcmp0 (perm->primary_smtp, primary_smtp)) {
+                               if (ut == E_EWS_PERMISSION_USER_TYPE_REGULAR && 
perm && g_strcmp0 (perm->primary_smtp, primary_smtp) == 0) {
                                        gtk_tree_selection_select_iter 
(selection, &iter);
                                        found = TRUE;
                                        break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/server/Makefile.in 
new/evolution-ews-3.22.2/src/server/Makefile.in
--- old/evolution-ews-3.22.1/src/server/Makefile.in     2016-10-10 
11:00:06.000000000 +0200
+++ new/evolution-ews-3.22.2/src/server/Makefile.in     2016-11-07 
10:13:51.000000000 +0100
@@ -250,6 +250,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/server/e-ews-connection.c 
new/evolution-ews-3.22.2/src/server/e-ews-connection.c
--- old/evolution-ews-3.22.1/src/server/e-ews-connection.c      2016-09-19 
10:30:54.000000000 +0200
+++ new/evolution-ews-3.22.2/src/server/e-ews-connection.c      2016-10-24 
22:43:22.000000000 +0200
@@ -1266,8 +1266,12 @@
                        /* 'mailboxes' and 'contact_items' match 1:1, but if 
the contact information
                         * wasn't found, then NULL is stored in the 
corresponding position */
                        node = e_soap_parameter_get_first_child_by_name 
(subparam, "Contact");
-                       contact_item = e_ews_item_new_from_soap_parameter 
(node);
-                       contact_items = g_slist_prepend (contact_items, 
contact_item);
+                       if (node) {
+                               contact_item = 
e_ews_item_new_from_soap_parameter (node);
+                               contact_items = g_slist_prepend (contact_items, 
contact_item);
+                       } else {
+                               contact_items = g_slist_prepend (contact_items, 
NULL);
+                       }
                }
        }
 
@@ -5201,7 +5205,7 @@
        if (contact_items)
                *contact_items = async_data->items_created;
        else
-               g_slist_free_full (async_data->items_created, g_object_unref);
+               e_util_free_nullable_object_slist (async_data->items_created);
        *mailboxes = async_data->items;
 
        return TRUE;
@@ -5332,7 +5336,7 @@
        }
 
        g_slist_free_full (mailboxes, (GDestroyNotify) e_ews_mailbox_free);
-       g_slist_free_full (contacts, g_object_unref);
+       e_util_free_nullable_object_slist (contacts);
 }
 
 gboolean
@@ -5387,7 +5391,7 @@
        }
 
        g_slist_free_full (mailboxes, (GDestroyNotify) e_ews_mailbox_free);
-       g_slist_free_full (contacts, g_object_unref);
+       e_util_free_nullable_object_slist (contacts);
 
        if (!*smtp_address) {
                const gchar *usename;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/src/utils/Makefile.in 
new/evolution-ews-3.22.2/src/utils/Makefile.in
--- old/evolution-ews-3.22.1/src/utils/Makefile.in      2016-10-10 
11:00:06.000000000 +0200
+++ new/evolution-ews-3.22.2/src/utils/Makefile.in      2016-11-07 
10:13:51.000000000 +0100
@@ -235,6 +235,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.22.1/tests/Makefile.in 
new/evolution-ews-3.22.2/tests/Makefile.in
--- old/evolution-ews-3.22.1/tests/Makefile.in  2016-10-10 11:00:06.000000000 
+0200
+++ new/evolution-ews-3.22.2/tests/Makefile.in  2016-11-07 10:13:51.000000000 
+0100
@@ -206,6 +206,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@


Reply via email to