Fix precision issue in panel space allocation debug sanity check
Closes https://github.com/emilk/egui/issues/99
This commit is contained in:
parent
5ef9f35d1e
commit
e413e5e3e9
2 changed files with 8 additions and 4 deletions
|
@ -13,6 +13,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
|
|
||||||
* Add `ui.allocate_at_least` and `ui.allocate_exact_size`.
|
* Add `ui.allocate_at_least` and `ui.allocate_exact_size`.
|
||||||
|
|
||||||
|
### Fixed 🐛
|
||||||
|
|
||||||
|
* Fixed a bug that would sometimes trigger a "Mismatching panels" panic in debug builds.
|
||||||
|
|
||||||
## 0.7.0 - 2021-01-04
|
## 0.7.0 - 2021-01-04
|
||||||
|
|
||||||
### Added ⭐
|
### Added ⭐
|
||||||
|
|
|
@ -93,8 +93,8 @@ impl FrameState {
|
||||||
/// Shrink `available_rect`.
|
/// Shrink `available_rect`.
|
||||||
pub(crate) fn allocate_left_panel(&mut self, panel_rect: Rect) {
|
pub(crate) fn allocate_left_panel(&mut self, panel_rect: Rect) {
|
||||||
debug_assert!(
|
debug_assert!(
|
||||||
panel_rect.min == self.available_rect.min,
|
panel_rect.min.distance(self.available_rect.min) < 0.1,
|
||||||
"Mismatching panels. You must not create a panel from within another panel."
|
"Mismatching left panel. You must not create a panel from within another panel."
|
||||||
);
|
);
|
||||||
self.available_rect.min.x = panel_rect.max.x;
|
self.available_rect.min.x = panel_rect.max.x;
|
||||||
self.unused_rect.min.x = panel_rect.max.x;
|
self.unused_rect.min.x = panel_rect.max.x;
|
||||||
|
@ -104,8 +104,8 @@ impl FrameState {
|
||||||
/// Shrink `available_rect`.
|
/// Shrink `available_rect`.
|
||||||
pub(crate) fn allocate_top_panel(&mut self, panel_rect: Rect) {
|
pub(crate) fn allocate_top_panel(&mut self, panel_rect: Rect) {
|
||||||
debug_assert!(
|
debug_assert!(
|
||||||
panel_rect.min == self.available_rect.min,
|
panel_rect.min.distance(self.available_rect.min) < 0.1,
|
||||||
"Mismatching panels. You must not create a panel from within another panel."
|
"Mismatching top panel. You must not create a panel from within another panel."
|
||||||
);
|
);
|
||||||
self.available_rect.min.y = panel_rect.max.y;
|
self.available_rect.min.y = panel_rect.max.y;
|
||||||
self.unused_rect.min.y = panel_rect.max.y;
|
self.unused_rect.min.y = panel_rect.max.y;
|
||||||
|
|
Loading…
Reference in a new issue