Derek Woolhead tracked down the problem and what needed to be fixed. I
just made the patch.
The problem was that if $plugin->cron had changed in version.php, then
the version number in the database could end up wrong after the upgrade,
and so the upgrade would immediately run a second time.
if ($currblock->cron != $block->cron) {
// update cron flag if needed
- $currblock->cron = $block->cron;
- $DB->update_record('block', $currblock);
+ $DB->set_field('block', 'cron', $block->cron, array('id' => $currblock->id));
}
// Upgrade various components