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