Merge pull request #5290 from Textualize/fix-anchor

fix anchor
This commit is contained in:
Will McGugan
2024-11-27 10:25:22 +00:00
committed by GitHub
2 changed files with 8 additions and 4 deletions

View File

@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
### Unreleased
### Fixed
- Fixed infinite loop in `Widget.anchor` https://github.com/Textualize/textual/pull/5290
## [0.87.1] - 2024-11-24
## Fixed

View File

@@ -593,7 +593,7 @@ class Widget(DOMNode):
@property
def is_anchored(self) -> bool:
"""Is this widget anchored?"""
return self._parent is not None and self._parent is self
return isinstance(self._parent, Widget) and self._parent._anchored is self
@property
def is_mouse_over(self) -> bool:
@@ -4080,9 +4080,7 @@ class Widget(DOMNode):
self._check_refresh()
if self.is_anchored:
self.scroll_visible(animate=self._anchor_animate)
if self._anchored:
self._anchored.scroll_visible(animate=self._anchor_animate)
self.scroll_visible(animate=self._anchor_animate, immediate=True)
def _check_refresh(self) -> None:
"""Check if a refresh was requested."""