+void ProgramData::recreate_buffer() const
+{
+ Buffer *old_buffer = buffer;
+ // Create the new buffer first to ensure it has a different address
+ buffer = new Buffer;
+ delete old_buffer;
+ if(last_buffer_block)
+ last_buffer_block->change_buffer(buffer);
+
+#ifdef DEBUG
+ if(!debug_name.empty())
+ buffer->set_debug_name(debug_name);
+#endif
+}
+