Fix viewport input leaking through dialogs
Use egui pointer ownership for viewport navigation and picking, view-cube interaction, and sketch-dimension hover. Cover scrolling, model selection, and cube interaction under floating dialogs, including after they close. Shield constraint glyph and move-gizmo highlights from overlapping UI too. Clear strict Clippy warnings and use the same saved path in the recent-file scenario on Windows and Unix. Fixes #87
This commit is contained in:
1 parent
ab23fc9906
commit
6f16b31771
12 files changed
+138
-24
No files matched your search
@@ -698,10 +698,8 @@ impl Sketch {
|
||||
| Symmetric { l, .. }
|
||||
| PointLineDistance { l, .. }
|
||||
| LinearDiameter { l, .. } => need_line(l)?,
|
||||
ArcLength { c, .. } => {
|
||||
if !matches!(self.curves.get(c).map(|c| &c.kind), Some(CurveKind::Arc { .. })) {
|
||||
return Err(SketchError::WrongKind(name(c), "arc length needs an arc".into()));
|
||||
}
|
||||
ArcLength { c, .. } if !matches!(self.curves.get(c).map(|c| &c.kind), Some(CurveKind::Arc { .. })) => {
|
||||
return Err(SketchError::WrongKind(name(c), "arc length needs an arc".into()));
|
||||
}
|
||||
Smooth { a, b } => {
|
||||
let ends = |i: usize| self.curves.get(i).and_then(|c| c.kind.ends());
|
||||
@@ -730,10 +728,8 @@ impl Sketch {
|
||||
return Err(SketchError::WrongKind(name(a), "tangent needs a circle or arc".into()));
|
||||
}
|
||||
}
|
||||
Equal { a, b } => {
|
||||
if is_line(a) != is_line(b) {
|
||||
return Err(SketchError::WrongKind(name(b), "equal needs two lines or two circles/arcs".into()));
|
||||
}
|
||||
Equal { a, b } if is_line(a) != is_line(b) => {
|
||||
return Err(SketchError::WrongKind(name(b), "equal needs two lines or two circles/arcs".into()));
|
||||
}
|
||||
Coincident { p, q } if p == q => return Err(SketchError::Invalid("a point is always coincident with itself".into())),
|
||||
_ => {}
|
||||
|
||||
Reference in new issue
Block a user