Global Block unable to delete

Permalink
Hey all - interesting behavior regarding a global scrapbook block:

* Had a global block in footers site-wide
* Changed theme, both themes use the same 'Footer' area tag for content
* Global block no longer visible

The strange thing is that when I re-added the global scrapbook block via the page defaults, then use "Setup On Child Pages", all the pages that SHOULD be displaying the block are checked! When I try to uncheck the pages (to remove the block, a precursor to re-adding it) and hit Update, I get the error:

Fatal Error: Call to a member function DeleteBlock() on a non-object in /home/blahblah on line 169


Any ideas how to exorcise this ghost block? I can add the block manually per page, but that'll be problematic later on, I can only imagine.

Thanks in advance!

 
Kiesel replied on at Permalink Reply
We have the same problem on multiple pages.

We create global blocks first and then use them in the page defaults where we usually set them active in all existing pages.

So in Theory we have a global block in all sites that the user can change from anywhere on the site. So far so good.... but the problems usually start from here:

Users often get "Access Denied" errors when they try to change one of this global blocks and the only way to get rid of these errors is to delete the block and to add it again.

So to get rid of it, we go to page defaults and first uncheck it from all pages, then delete it, add it again and check it into all pages.

But sometimes we get the same

Fatal error: Call to a member function deleteBlock() on a non-object in /concrete/startup/process.php on line 169


Error as you do. We get it when we uncheck the blocks from the page and try to save that. That's usually the point where we're really screwed...... I can't believe that not more people have reported this problem or have it.
ASITechsupport replied on at Permalink Reply
Ditto on this.

I'm now running into this problem as we're changing themes during development and apparently the database thinks that a global block still exists for a page-type, but in fact it's not there. When you try to un-check box for the child page to the page type, then it gives you the error.

I would assume that the graceful thing to do would be if deleteBlock() failed then you'd just remove the reference in the database. But for now it's failing NON-gracefully...

Anyone have a pointer to the database table/record that I should be looking for to manually remove this reference?
Kiesel replied on at Permalink Reply
Problem still exists, but as a possible workaround to whoever has the problem you cant try what we do now most of the time:

We usually get this error in combination with a block added from the global scrapbook. If yes, then delete this block from the global scrapbook, remake it and add the new made block in the page defaults at the same position you had the problems.

That's usually working.