| 186 | } |
| 187 | |
| 188 | void |
| 189 | LogFile::timeout () |
| 190 | { |
| 191 | bool changed = false; |
| 192 | bool attn = false, last_attn = false; |
| 193 | |
| 194 | m_lock.lock (); |
| 195 | |
| 196 | m_last_yield = tl::Clock::current (); |
| 197 | |
| 198 | if (m_generation_id != m_last_generation_id) { |
| 199 | attn = m_has_errors || m_has_warnings; |
| 200 | last_attn = m_last_attn; |
| 201 | m_last_attn = attn; |
| 202 | m_last_generation_id = m_generation_id; |
| 203 | changed = true; |
| 204 | } |
| 205 | |
| 206 | m_lock.unlock (); |
| 207 | |
| 208 | if (changed) { |
| 209 | emit layoutChanged (); |
| 210 | if (last_attn != attn) { |
| 211 | emit attention_changed (attn); |
| 212 | } |
| 213 | } |
| 214 | } |
| 215 | |
| 216 | void |
| 217 | LogFile::set_max_entries (size_t n) |