Search Functionality broken by the wp 4.2 update

The problem was due to the fact that the query was restructured in this latest update. As pointed out by d79 in this question, the query changed from:

SELECT DISTINCT SQL_CALC_FOUND_ROWS wp_users.* FROM wp_users INNER JOIN wp_usermeta ON ( wp_users.ID = wp_usermeta.user_id )  INNER JOIN wp_usermeta AS mt1 ON ( wp_users.ID = mt1.user_id ) WHERE 1=1 AND (user_login LIKE 'test' OR user_email LIKE 'test' OR display_name LIKE 'test') OR ( 
  ( 
    ( 
      ( wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%test%' ) 
      OR 
      ( wp_usermeta.meta_key = 'last_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%test%' )
    ) 
    AND 
    mt1.meta_key = 'wp_6_capabilities'
  )
) ORDER BY user_login ASC 

to

SELECT DISTINCT SQL_CALC_FOUND_ROWS wp_users.* FROM wp_users INNER JOIN wp_usermeta ON ( wp_users.ID = wp_usermeta.user_id )  INNER JOIN wp_usermeta AS mt1 ON ( wp_users.ID = mt1.user_id ) WHERE 1=1 OR ( 
  ( 
    ( 
      ( wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%test%' ) 
      OR 
      ( wp_usermeta.meta_key = 'last_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%test%' )
    ) 
    AND 
    mt1.meta_key = 'wp_6_capabilities'
  )
) AND (user_login LIKE 'test' OR user_email LIKE 'test' OR display_name LIKE 'test') ORDER BY user_login ASC

Therefore, his function:

add_action('pre_user_query', 'my_custom_users_search');

function my_custom_users_search( $args ) {
    if( isset( $args->query_vars['meta_query']['replace_and'] ) && $args->query_vars['meta_query']['replace_and'] )
        $args->query_where = str_replace(') AND (', ') OR (', $args->query_where);
}

targeted the correct AND to be changed to an OR. His solution fixed the problem for me.