From c528cefea8a4d0ce868e26af7d342577124de9c4 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 21 May 2010 21:22:25 +0000 Subject: [PATCH] Monotone-Parent: 1f7df7709595f90e31a77eb48e262817f79b279f Monotone-Revision: 6b80a82a1c8467dead7e9167694acac4cd8cae38 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-05-21T21:22:25 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 +++++ UI/WebServerResources/SchedulerUI.js | 34 +++++++++++++++------------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4cd994e8f..7ed35e0ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-05-21 Wolfgang Sourdeau + + * UI/WebServerResources/SchedulerUI.js: (resetCategoriesStyles): + fixed an exception occurring when + UserDefaults['SOGoCalendarCategoriesColors'] is undefined. + 2010-05-21 Francis Lachapelle * UI/WebServerResources/UIxPreferences.js (endEditable, diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index a44eabc7c..531ac4ecc 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -1252,10 +1252,11 @@ function resetCategoriesStyles() { categoriesStyleSheet.removeChild(categoriesStyleSheet.firstChild); } - // Update stylesheet with new categories colors - var selectors = []; - var rules = []; - categoriesStyles.keys().each(function(category) { + if (UserDefaults['SOGoCalendarCategoriesColors']) { + // Update stylesheet with new categories colors + var selectors = []; + var rules = []; + categoriesStyles.keys().each(function(category) { var color = UserDefaults['SOGoCalendarCategoriesColors'][category]; if (color) { rules[rules.length] = '{ border-right: 8px solid ' + color + '; }'; @@ -1263,18 +1264,19 @@ function resetCategoriesStyles() { } }); - if (selectors.length > 0) { - if (categoriesStyleSheet.styleSheet && categoriesStyleSheet.styleSheet.addRule) { - // IE - for (var i = 0; i < selectors.length; i++) - categoriesStyleSheet.styleSheet.addRule(selectors[i], - rules[i]); - } - else { - // Mozilla + Safari - for (var i = 0; i < selectors.length; i++) - categoriesStyleSheet.appendChild(document.createTextNode(selectors[i] + - ' ' + rules[i])); + if (selectors.length > 0) { + if (categoriesStyleSheet.styleSheet && categoriesStyleSheet.styleSheet.addRule) { + // IE + for (var i = 0; i < selectors.length; i++) + categoriesStyleSheet.styleSheet.addRule(selectors[i], + rules[i]); + } + else { + // Mozilla + Safari + for (var i = 0; i < selectors.length; i++) + categoriesStyleSheet.appendChild(document.createTextNode(selectors[i] + + ' ' + rules[i])); + } } } }