To duplicate this issue:

  1. Create a block using the "Region to Block" method.
  2. Edit the Content Type which was used to create the block. Change the name and the machine name.
  3. Return to the "Region to Block" section where the block was originally created.

The block will no longer be listed there, but it will still exist under Structure > Blocks. Therefore, you will have a vestigial block that you can't rename or delete, taking up a namespace and not shown anywhere on the front end of the site.

I suggest changing the blocks to reflect the updated Content Type so you don't have to recreate them.

Comments

swentel’s picture

Status: Active » Fixed

Ok, this is thanks to my own stupid fault. The $region_to_blocks variable doesn't store enough info to know on which content type it is configured. Rather, it's hard to find out from the little info it has. Therefore triggering an update with hook_node_type_update() is tricky as I can't really tell what the content type is.

The info key is build like '{entity_type}_{bundle}_{view_mode}. While this works fine on field ui, it's impossible to know exactly where the bundle name is located with possible more underscores in 'entity_type' and/or 'view_mode'.

However, the dev version of DS already comes with an 'emergency' page at admin/structure/ds/emergency to disable the attaching of ds fields in case of errors. I've added the overview of all region_to_blocks on that page so you can remove them there if wanted.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.