? .DS_Store
? BACKUP
? skinr_891942_35.patch
Index: skinr.handlers.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/skinr/skinr.handlers.inc,v
retrieving revision 1.8
diff -u -p -r1.8 skinr.handlers.inc
--- skinr.handlers.inc	27 Nov 2010 23:22:26 -0000	1.8
+++ skinr.handlers.inc	3 Dec 2010 20:53:16 -0000
@@ -115,6 +115,7 @@ function skinr_submit_handler(&$form, $f
         $skin->module = $module;
         $skin->sid = skinr_handler('form_index_handler', 'submit', $form_settings['index_handler'], $form, $form_state);
         $skin->skins = array();
+		$saved = skinr_get($skinr->theme, $skinr->module, $skinr->sid);
 
         if (!empty($theme['widgets']) && is_array($theme['widgets'])) {
           foreach ($theme['widgets'] as $skin_name => $skin_value) {
@@ -128,6 +129,14 @@ function skinr_submit_handler(&$form, $f
             $skin->skins['_additional'] = $theme['_additional'];
           }
         }
+	  else {
+		if (!user_access('access skinr classes') && isset($saved->skins['_additional'])) {
+			// The user didn't have access to change this. Ensure the existing
+			// custom classes remain by populating the element with the
+			// previously saved values.
+			$value->skins['_additional'] = $saved->skins['_additional'];
+			}
+		}
 
         if (empty($skin->sid)) {
           // We didn't receive a valid sid, so raise an error
Index: modules/panels.skinr.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/skinr/modules/panels.skinr.inc,v
retrieving revision 1.18
diff -u -p -r1.18 panels.skinr.inc
--- modules/panels.skinr.inc	27 Nov 2010 23:22:27 -0000	1.18
+++ modules/panels.skinr.inc	3 Dec 2010 20:53:16 -0000
@@ -218,6 +218,7 @@ function panels_skinr_submit_handler_set
     if ((!empty($theme['widgets']) && is_array($theme['widgets'])) || isset($theme['_additional'])) {
       $hook  = $module;
       $sid   = skinr_handler('form_index_handler', 'submit', $form_settings['index_handler'], $form, $form_state);
+	  $saved = skinr_get($skinr->theme, $skinr->module, $skinr->sid);
 
       // Key doesn't exist properly for new displays. Perhaps we should inject a timestamp based key into the display object
       // and use that for reference on the final submit? If it works...
@@ -236,6 +237,14 @@ function panels_skinr_submit_handler_set
           $value['_additional'] = $theme['_additional'];
         }
       }
+	  else {
+		if (!user_access('access skinr classes') && isset($saved->skins['_additional'])) {
+			// The user didn't have access to change this. Ensure the existing
+			// custom classes remain by populating the element with the
+			// previously saved values.
+			$value->skins['_additional'] = $saved->skins['_additional'];
+			}
+		}
 
       if (empty($sid)) {
         // We didn't receive a valid sid, so raise an error.
Index: modules/views.skinr.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/skinr/modules/views.skinr.inc,v
retrieving revision 1.13
diff -u -p -r1.13 views.skinr.inc
--- modules/views.skinr.inc	27 Nov 2010 23:22:27 -0000	1.13
+++ modules/views.skinr.inc	3 Dec 2010 20:53:16 -0000
@@ -200,6 +200,7 @@ function views_skinr_submit_handler_disp
     if ((!empty($theme['widgets']) && is_array($theme['widgets'])) || isset($theme['_additional'])) {
       $sid   = skinr_handler('form_index_handler', 'submit', $form_settings['index_handler'], $form, $form_state);
       $value = array();
+	  $saved = skinr_get($skinr->theme, $skinr->module, $skinr->sid);
 
       if (!empty($theme['widgets']) && is_array($theme['widgets'])) {
         foreach ($theme['widgets'] as $skin_name => $skin_value) {
@@ -213,6 +214,14 @@ function views_skinr_submit_handler_disp
           $value['_additional'] = $theme['_additional'];
         }
       }
+	  else {
+		if (!user_access('access skinr classes') && isset($saved->skins['_additional'])) {
+			// The user didn't have access to change this. Ensure the existing
+			// custom classes remain by populating the element with the
+			// previously saved values.
+			$value->skins['_additional'] = $saved->skins['_additional'];
+			}
+		}
 
       if (empty($sid)) {
         // We didn't receive a valid sid, so raise an error
