Index: modules/block/block.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.module,v
retrieving revision 1.409
diff -u -r1.409 block.module
--- modules/block/block.module	24 Jan 2010 16:20:50 -0000	1.409
+++ modules/block/block.module	12 Feb 2010 09:56:45 -0000
@@ -925,3 +925,14 @@
     '#weight' => -1,
   );
 }
+
+/**
+ * Implements hook_module_uninstalled().
+ * 
+ * Remove the blocks of uninstalled modules.
+ */
+function block_modules_uninstalled($modules) {
+  db_delete('block')->condition('module', $modules, 'IN')->execute();
+  db_delete('block_node_type')->condition('module', $modules, 'IN')->execute();
+  db_delete('block_role')->condition('module', $modules, 'IN')->execute();
+}
\ No newline at end of file
