Projects STRLCPY alacritty Commits 66d742d0
🤬
  • Fix busy rendering when the same warning persists

    When the same warning is thrown on the each rendering iteration, it'll
    force alacritty to always render.
    
    Co-authored-by: Christian Duerr <[email protected]>
  • Loading...
  • Kirill Chibisov committed with GitHub 1 year ago
    66d742d0
    1 parent bf587480
  • ■ ■ ■ ■ ■ ■
    alacritty/src/event.rs
    skipped 1206 lines
    1207 1207   self.ctx.display.cursor_hidden = false;
    1208 1208   *self.ctx.dirty = true;
    1209 1209   },
    1210  - EventType::Message(message) => {
     1210 + // Add message only if it's not already queued.
     1211 + EventType::Message(message) if !self.ctx.message_buffer.is_queued(&message) => {
    1211 1212   self.ctx.message_buffer.push(message);
    1212 1213   self.ctx.display.pending_update.dirty = true;
    1213 1214   },
    skipped 52 lines
    1266 1267   },
    1267 1268   #[cfg(unix)]
    1268 1269   EventType::IpcConfig(_) => (),
    1269  - EventType::ConfigReload(_) | EventType::CreateWindow(_) => (),
     1270 + EventType::ConfigReload(_) | EventType::CreateWindow(_) | EventType::Message(_) => {
     1271 + },
    1270 1272   },
    1271 1273   WinitEvent::RedrawRequested(_) => *self.ctx.dirty = true,
    1272 1274   WinitEvent::WindowEvent { event, .. } => {
    skipped 438 lines
  • ■ ■ ■ ■ ■ ■
    alacritty/src/message_bar.rs
    skipped 180 lines
    181 181   pub fn push(&mut self, message: Message) {
    182 182   self.messages.push_back(message);
    183 183   }
     184 + 
     185 + /// Check whether the message is already queued in the message bar.
     186 + #[inline]
     187 + pub fn is_queued(&self, message: &Message) -> bool {
     188 + self.messages.contains(message)
     189 + }
    184 190  }
    185 191   
    186 192  #[cfg(test)]
    skipped 222 lines
Please wait...
Page is in error, reload to recover