From c2b482ff7ef7c9093d3a59398e94791a395ad9bf Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sat, 4 Apr 2026 12:03:41 +0200 Subject: [PATCH] Flip if-else:s with a negation (#8063) --- crates/eframe/src/web/events.rs | 10 +++++----- crates/egui/src/response.rs | 6 +++--- .../src/text_selection/text_cursor_state.rs | 8 ++++---- crates/egui/src/widgets/slider.rs | 2 +- crates/egui/src/widgets/text_edit/builder.rs | 12 +++++------ crates/egui_demo_app/src/wrap_app.rs | 12 +++++------ crates/epaint/src/stats.rs | 6 +++--- examples/file_dialog/src/main.rs | 12 +++++------ tests/test_viewports/src/main.rs | 20 +++++++++---------- 9 files changed, 44 insertions(+), 44 deletions(-) diff --git a/crates/eframe/src/web/events.rs b/crates/eframe/src/web/events.rs index d77444563..e24e99fee 100644 --- a/crates/eframe/src/web/events.rs +++ b/crates/eframe/src/web/events.rs @@ -1114,16 +1114,16 @@ fn get_display_size(resize_observer_entries: &js_sys::Array) -> Result<(u32, u32 } else if JsValue::from_str("contentBoxSize").js_in(entry.as_ref()) { let content_box_size = entry.content_box_size(); let idx0 = content_box_size.at(0); - if !idx0.is_undefined() { - let size: web_sys::ResizeObserverSize = idx0.dyn_into()?; - width = size.inline_size(); - height = size.block_size(); - } else { + if idx0.is_undefined() { // legacy let size = JsValue::clone(content_box_size.as_ref()); let size: web_sys::ResizeObserverSize = size.dyn_into()?; width = size.inline_size(); height = size.block_size(); + } else { + let size: web_sys::ResizeObserverSize = idx0.dyn_into()?; + width = size.inline_size(); + height = size.block_size(); } if DEBUG_RESIZE { log::info!("contentBoxSize {width}x{height}"); diff --git a/crates/egui/src/response.rs b/crates/egui/src/response.rs index a0dd6bd91..54d53f2b4 100644 --- a/crates/egui/src/response.rs +++ b/crates/egui/src/response.rs @@ -272,10 +272,10 @@ impl Response { false } else if let Some(pos) = pointer_interact_pos { let layer_under_pointer = self.ctx.layer_id_at(pos); - if layer_under_pointer != Some(self.layer_id) { - true - } else { + if layer_under_pointer == Some(self.layer_id) { !self.interact_rect.contains(pos) + } else { + true } } else { false // clicked without a pointer, weird diff --git a/crates/egui/src/text_selection/text_cursor_state.rs b/crates/egui/src/text_selection/text_cursor_state.rs index 9c9b0a263..12e0656d8 100644 --- a/crates/egui/src/text_selection/text_cursor_state.rs +++ b/crates/egui/src/text_selection/text_cursor_state.rs @@ -156,13 +156,13 @@ fn select_line_at(text: &str, ccursor: CCursor) -> CCursorRange { let min = ccursor_previous_line(text, ccursor); let max = ccursor_next_line(text, min); CCursorRange::two(min, max) - } else if !is_linebreak(char_after_cursor) { - let max = ccursor_next_line(text, ccursor); - CCursorRange::two(ccursor, max) - } else { + } else if is_linebreak(char_after_cursor) { let min = ccursor_previous_line(text, ccursor); let max = ccursor_next_line(text, ccursor); CCursorRange::two(min, max) + } else { + let max = ccursor_next_line(text, ccursor); + CCursorRange::two(ccursor, max) } } else { let min = ccursor_previous_line(text, ccursor); diff --git a/crates/egui/src/widgets/slider.rs b/crates/egui/src/widgets/slider.rs index 69d08c44e..1a9edf02d 100644 --- a/crates/egui/src/widgets/slider.rs +++ b/crates/egui/src/widgets/slider.rs @@ -314,7 +314,7 @@ impl<'a> Slider<'a> { /// Default: `0.0` (disabled). #[inline] pub fn step_by(mut self, step: f64) -> Self { - self.step = if step != 0.0 { Some(step) } else { None }; + self.step = if step == 0.0 { None } else { Some(step) }; self } diff --git a/crates/egui/src/widgets/text_edit/builder.rs b/crates/egui/src/widgets/text_edit/builder.rs index ef668a02e..6f4d9a044 100644 --- a/crates/egui/src/widgets/text_edit/builder.rs +++ b/crates/egui/src/widgets/text_edit/builder.rs @@ -680,7 +680,9 @@ impl TextEdit<'_> { .wrap_mode(wrap_mode) .allocate(ui); - allocated.frame = if !custom_frame { + allocated.frame = if custom_frame { + allocated.frame + } else { let visuals = ui.style().interact(&allocated.response); let background_color = background_color.unwrap_or_else(|| ui.visuals().text_edit_bg_color()); @@ -713,8 +715,6 @@ impl TextEdit<'_> { ) .outer_margin(Margin::same(-(visuals.expansion as i8))) .stroke(stroke) - } else { - allocated.frame }; allocated.paint(ui) @@ -1019,7 +1019,9 @@ fn events( } } Event::Paste(text_to_insert) => { - if !text_to_insert.is_empty() { + if text_to_insert.is_empty() { + None + } else { let mut ccursor = text.delete_selected(&cursor_range); if multiline { text.insert_text_at(&mut ccursor, text_to_insert, char_limit); @@ -1029,8 +1031,6 @@ fn events( } Some(CCursorRange::one(ccursor)) - } else { - None } } Event::Text(text_to_insert) => { diff --git a/crates/egui_demo_app/src/wrap_app.rs b/crates/egui_demo_app/src/wrap_app.rs index 313a1a685..9f43f8624 100644 --- a/crates/egui_demo_app/src/wrap_app.rs +++ b/crates/egui_demo_app/src/wrap_app.rs @@ -466,10 +466,10 @@ impl WrapApp { for file in &i.raw.hovered_files { if let Some(path) = &file.path { write!(text, "\n{}", path.display()).ok(); - } else if !file.mime.is_empty() { - write!(text, "\n{}", file.mime).ok(); - } else { + } else if file.mime.is_empty() { text += "\n???"; + } else { + write!(text, "\n{}", file.mime).ok(); } } text @@ -505,10 +505,10 @@ impl WrapApp { for file in &self.dropped_files { let mut info = if let Some(path) = &file.path { path.display().to_string() - } else if !file.name.is_empty() { - file.name.clone() - } else { + } else if file.name.is_empty() { "???".to_owned() + } else { + file.name.clone() }; let mut additional_info = vec![]; diff --git a/crates/epaint/src/stats.rs b/crates/epaint/src/stats.rs index 1eef4f444..de8f275cf 100644 --- a/crates/epaint/src/stats.rs +++ b/crates/epaint/src/stats.rs @@ -135,10 +135,10 @@ impl AllocInfo { what, self.megabytes() ) - } else if self.element_size != ElementSize::Heterogenous { + } else if self.element_size == ElementSize::Heterogenous { format!( "{:6} {:16} {} {:3} allocations", - self.num_elements(), + "", what, self.megabytes(), self.num_allocs() @@ -146,7 +146,7 @@ impl AllocInfo { } else { format!( "{:6} {:16} {} {:3} allocations", - "", + self.num_elements(), what, self.megabytes(), self.num_allocs() diff --git a/examples/file_dialog/src/main.rs b/examples/file_dialog/src/main.rs index 63e7bb0a8..33bda7a96 100644 --- a/examples/file_dialog/src/main.rs +++ b/examples/file_dialog/src/main.rs @@ -50,10 +50,10 @@ impl eframe::App for MyApp { for file in &self.dropped_files { let mut info = if let Some(path) = &file.path { path.display().to_string() - } else if !file.name.is_empty() { - file.name.clone() - } else { + } else if file.name.is_empty() { "???".to_owned() + } else { + file.name.clone() }; let mut additional_info = vec![]; @@ -95,10 +95,10 @@ fn preview_files_being_dropped(ctx: &egui::Context) { for file in &i.raw.hovered_files { if let Some(path) = &file.path { write!(text, "\n{}", path.display()).ok(); - } else if !file.mime.is_empty() { - write!(text, "\n{}", file.mime).ok(); - } else { + } else if file.mime.is_empty() { text += "\n???"; + } else { + write!(text, "\n{}", file.mime).ok(); } } text diff --git a/tests/test_viewports/src/main.rs b/tests/test_viewports/src/main.rs index 3330c1313..25787c912 100644 --- a/tests/test_viewports/src/main.rs +++ b/tests/test_viewports/src/main.rs @@ -416,16 +416,7 @@ fn drag_source( ) -> InnerResponse { let is_being_dragged = ui.ctx().is_being_dragged(id); - if !is_being_dragged { - let res = ui.scope(body); - - // Check for drags: - let response = ui.interact(res.response.rect, id, egui::Sense::drag()); - if response.hovered() { - ui.set_cursor_icon(egui::CursorIcon::Grab); - } - res - } else { + if is_being_dragged { ui.set_cursor_icon(egui::CursorIcon::Grabbing); // Paint the body to a new layer: @@ -440,6 +431,15 @@ fn drag_source( ); } + res + } else { + let res = ui.scope(body); + + // Check for drags: + let response = ui.interact(res.response.rect, id, egui::Sense::drag()); + if response.hovered() { + ui.set_cursor_icon(egui::CursorIcon::Grab); + } res } }