[evolution-data-server] [ownCloud backend] Check color format before using it
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] [ownCloud backend] Check color format before using it
- Date: Tue, 22 Apr 2014 11:20:23 +0000 (UTC)
commit 02cf0bb94f9d3cfc001ff2dbe9f66ebbeb29ed37
Author: Milan Crha <mcrha redhat com>
Date: Tue Apr 22 13:12:07 2014 +0200
[ownCloud backend] Check color format before using it
Calendar-based sources have always overwritten color, to ensure
the color defined on the server matches the one used in evolution,
but there was not checked whether the color is of the right format,
which may eventually cause reset of a user-specified color to
an invalid one, showing the calendar in an odd color.
modules/owncloud-backend/module-owncloud-backend.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/modules/owncloud-backend/module-owncloud-backend.c
b/modules/owncloud-backend/module-owncloud-backend.c
index 0ee215b..e13d5c5 100644
--- a/modules/owncloud-backend/module-owncloud-backend.c
+++ b/modules/owncloud-backend/module-owncloud-backend.c
@@ -175,11 +175,16 @@ owncloud_source_found_cb (ECollectionBackend *collection,
/* these properties are synchronized always */
if (source) {
+ gint rr, gg, bb;
+
backend = e_source_get_extension (source, backend_name);
e_source_backend_set_backend_name (backend, provider);
e_source_set_display_name (source, display_name);
- if (source_type != OwnCloud_Source_Contacts && color)
+ /* Also check whether the color format is as expected; it cannot
+ be used gdk_rgba_parse here, because it required gdk/gtk. */
+ if (source_type != OwnCloud_Source_Contacts && color &&
+ sscanf (color, "#%02x%02x%02x", &rr, &gg, &bb) == 3)
e_source_selectable_set_color (E_SOURCE_SELECTABLE (backend), color);
if (is_new)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]