The problem is that pagination and quicksort links are being created from a set of inputs that does not understand that checkboxes set to zero should not be sent as part of the request.
Have found a fix that uses array_filter to remove values that have a value of zero, if it is a multiple exposed checkbox.

// If we have a multiple checkbox with values set to zero, we don't want // these included in the exposed_raw_input array as it breaks pagination. if (is_array($value) && $form[$key]['#type'] === 'checkboxes') { $form_state['view']->exposed_raw_input[$key] = array_filter($value); } else { $form_state['view']->exposed_raw_input[$key] = $value; } } }}

Note: better exposed filters introduces a complication here as you have the option to move fields into a field-set named secondary (ie by making them a secondary filter). The above fix doesn't work in this case as it would need to check $form['secondary'][$key] for the type.

// If we have a multiple checkbox with values set to zero, we don't want // these included in the exposed_raw_input array as it breaks pagination. if (is_array($value)) { $field = isset($form[$key]) ? $form[$key] : NULL;

if ($field === NULL) { // The field may be burried in a fieldset somewhere so find it. foreach (element_children($form) as $child) { if (isset($form[$child][$key])) { $field = $form[$child][$key]; continue; } } }

I had to change one line in #5 patch:
from thisif (isset($field) && $field['#type'] === 'checkboxes') {
to thisif (isset($field['#type']) && $field['#type'] === 'checkboxes') {
or I would get this:Notice: Undefined index: #type in views_exposed_form_submit() (line 2079 of ..... httpdocs/sites/all/modules/views/views.module)

I have several exposed filters with some as checkboxes, filtering entities from a custom table. I get the notice whether or not I use hook_form_alter. I can't duplicate that notice by filtering on Body of content type Article.

Other than that it worked for me. Paging was my problem before - if a checkbox group was left un-checked it would throw an error and check ALL the boxes in that group when going to the next page of results.