The Solution as per Joomlapoplis (not added into latest version released) and parts to remove commented out:
in administrator/components/com_comprofiler/comprofiler.class.php
[code:1] function selectList( &$arr, $tag_name, $tag_attribs, $key, $text, $selected, $required = 0, $htmlspecialcharText = true ) {
reset( $arr );
$id_name = moscomprofilerHTML::htmlId( $tag_name );
$html = "\n"
. '<select name="' . htmlspecialchars( $tag_name ) . '" id="' . htmlspecialchars( $id_name ) . '" ' . $tag_attribs . '>';
/* $addBlank = ( ( ! $required ) && ! ( isset( $arr[0] ) && $arr[0]->$key == '' ) ); */
$addBlank = ( ( ( ! $required ) || ( is_array( $selected ) ? ( count( $selected ) == 0 ) : ( $selected == '' ) ) ) && ! ( isset( $arr[0] ) && $arr[0]->$key == '' ) );
if ( $addBlank ) {
$html .= "\n\t<option value=\"\"> </option>";
}
[/code:1]
In the same directory, plugin.class.php
[code:1] function _explodeCBvaluesToObj( $value ) {
if ( ! is_array( $value ) ) {
/* $value = explode( '|*|', $value ); */
if ( ( $value === '' ) || is_null( $value ) ) {
$value = array();
} else {
$value = explode( '|*|', $value );
}
}
$objArr = array();
foreach( $value as $k => $kv ) {
$objArr[$k]->value = $kv;
$objArr[$k]->text = $kv;
}
return $objArr;
}
function _explodeCBvalues( $value ) {
return explode( '|*|', $value );
}
[/code:1]