CRM-3413 didn't totally fix the block caching issues. Now the blocks show on all pages because there isn't that check being run every time to see if we're on a civicrm page. There's a couple possible sollutions to this:
- Allow CiviCRM blocks to be placed on any page, but default to only CiviCRM pages. This requires removing the CiviCRM code that checks for civicrm in the URL before displaying blocks, plus we then need to tell Drupal to only show these blocks at civicrm* URLs by default. This patch does the latter part.
- Change cache settings to BLOCK_CACHE_PER_ROLE | BLOCK_CACHE_PER_PAGE for all civicrm blocks. This basically keeps things as they were pre-2.1, however, then what's the point of block caching?