Index: modules/user/user.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.admin.inc,v
retrieving revision 1.104
diff -u -p -r1.104 user.admin.inc
--- modules/user/user.admin.inc	24 Mar 2010 07:34:10 -0000	1.104
+++ modules/user/user.admin.inc	24 Mar 2010 21:51:12 -0000
@@ -388,14 +388,28 @@ function user_admin_settings() {
       '#description' => t('The style selected will be used on display, while the original image is retained. Styles may be configured in the <a href="!url">Image styles</a> administration area.', array('!url' => url('admin/config/media/image-styles'))),
     );
   }
+  $user_picture_dimensions = explode('x', variable_get('user_picture_dimensions', '85x85')) + array('', '');
   $form['personalization']['pictures']['user_picture_dimensions'] = array(
-    '#type' => 'textfield',
     '#title' => t('Picture upload dimensions'),
-    '#default_value' => variable_get('user_picture_dimensions', '85x85'),
-    '#size' => 10,
-    '#maxlength' => 10,
+    '#element_validate' => array('_user_picture_field_resolution_validate'),
+    '#theme_wrappers' => array('form_element'),
+    '#description' => t('Maximum allowed dimensions for uploaded pictures as WIDTHxHEIGHT (e.g. 85x85).'),
+  );
+  $form['personalization']['pictures']['user_picture_dimensions']['x'] = array(
+    '#type' => 'textfield',
+    '#default_value' => $user_picture_dimensions[0],
+    '#size' => 5,
+    '#maxlength' => 5,
+    '#field_suffix' => ' x ',
+    '#theme_wrappers' => array(),
+  );
+  $form['personalization']['pictures']['user_picture_dimensions']['y'] = array(
+    '#type' => 'textfield',
+    '#default_value' => $user_picture_dimensions[1],
+    '#size' => 5,
+    '#maxlength' => 5,
     '#field_suffix' => ' ' . t('pixels'),
-    '#description' => t('Maximum allowed dimensions for uploaded pictures.'),
+    '#theme_wrappers' => array(),
   );
   $form['personalization']['pictures']['user_picture_file_size'] = array(
     '#type' => 'textfield',
Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.1146
diff -u -p -r1.1146 user.module
--- modules/user/user.module	24 Mar 2010 10:13:26 -0000	1.1146
+++ modules/user/user.module	24 Mar 2010 21:51:17 -0000
@@ -3265,6 +3265,29 @@ function user_image_style_save($style) {
 }
 
 /**
+ * Element validate function for user picture resolution field.
+ */
+function _user_picture_field_resolution_validate($element, &$form_state) {
+  if (!empty($element['x']['#value']) || !empty($element['y']['#value'])) {
+    foreach (array('x', 'y') as $dimension) {
+      $value = $element[$dimension]['#value'];
+      if (!is_numeric($value)) {
+        form_error($element[$dimension], t('Height and width values must be numeric.'));
+        return;
+      }
+      if (intval($value) == 0) {
+        form_error($element[$dimension], t('Both a height and width value must be specified in the !name field.', array('!name' => $element['#title'])));
+        return;
+      }
+    }
+    form_set_value($element, intval($element['x']['#value']) . 'x' . intval($element['y']['#value']), $form_state);
+  }
+  else {
+    form_set_value($element, '', $form_state);
+  }
+}
+
+/**
  * Implements hook_action_info().
  */
 function user_action_info() {
