I think this bug dates back to when there was a separate checkbox for 'enabled' on the blocks page (in 4.6 I think). We eventually decided that being in the "Disabled" region was equivalent to having the box unchecked, so the checkbox was removed entirely.
There's some lingering cruft still from this change, the region for disabled blocks can either be 'left' or an empty string. Since these blocks are not in the left column ever, I think making an empty string represent a disabled block in the database is the correct solution.
To reproduce the inconsistency, fresh install D6. Take a look at your blocks table before visiting admin/build/block. 3 rows exist (login, navigation and powered by drupal). After visting admin/build/block, all the other blocks populate the table with status = 0 and region = 'left'. Don't make any changes and save the form. Now all the columns for disabled blocks are status = 0 and region = ''.
This will make our logic when pulling in blocks simpler, so we won't have to check status to see if a block should be in the disabled region.
Comment | File | Size | Author |
---|---|---|---|
#4 | block-default-region-191282-4.patch | 714 bytes | bjaspan |
#2 | block_empty_regions.patch | 1.28 KB | quicksketch |
block_empty_regions.patch | 1.28 KB | quicksketch | |
Comments
Comment #1
catchLooks great to me. system_update_6036 just got committed though so needs a re-roll, but otherwise ought to be RTBC.
Comment #2
quicksketchNo problem. Here's the re-roll.
Comment #3
Dries CreditAttribution: Dries commentedCommitted to CVS HEAD. Thanks quicksketch.
Comment #4
bjaspan CreditAttribution: bjaspan commentedThis patch introduces a database schema inconsistency (reported by schema.module). You can't change a table schema with a corresponding update function.
Fix attached.
Comment #5
Gábor HojtsyAgreed, committed. Thanks!
Comment #6
quicksketchCrap. Sorry Barry. I won't make the mistake again.
Comment #7
(not verified) CreditAttribution: commentedAutomatically closed -- issue fixed for two weeks with no activity.