| 99 | std::unique_ptr<uint32_t *> saved; |
| 100 | |
| 101 | void save_settings(color_ostream &out) { |
| 102 | if (!saved) |
| 103 | saved = std::make_unique<uint32_t *>(new uint32_t[announcement_flag_arr_size]); |
| 104 | DEBUG(control,out).print("saving announcement settings\n"); |
| 105 | for (size_t i = 0; i < announcement_flag_arr_size; ++i) |
| 106 | (*saved)[i] = d_init->announcements.flags[i].whole; |
| 107 | } |
| 108 | |
| 109 | public: |
| 110 | void reset(color_ostream &out, bool skip_restore) { |