Skip to content

Fix rebuild blank screen, CompositeEffort crash, PEP 8 renames#426

Merged
realcarbonneau merged 1 commit intomasterfrom
fix-rebuild-blank-screen
Mar 20, 2026
Merged

Fix rebuild blank screen, CompositeEffort crash, PEP 8 renames#426
realcarbonneau merged 1 commit intomasterfrom
fix-rebuild-blank-screen

Conversation

@realcarbonneau
Copy link
Copy Markdown
Contributor

Remove paint suppression and idle wait that caused the tree to go blank for seconds when marking tasks complete. The paint debounce (introduced in v2.0.2.6 to fix the AUI cascade) suppressed ALL paints during __refreshing and waited 2-3 EVT_IDLE cycles to clear it. Multiple rebuilds (filter + sort + presentation) stacked the blank time. The motion-only input filter in frame.py is sufficient to prevent the AUI cascade - paint suppression is redundant.

Rebuild is now synchronous (same as v2.0.2.5): Freeze, rebuild, Thaw, Refresh(eraseBackground=False). No blank screen.

Fix CompositeEffort crash: the UUID sort tiebreaker assumed all items have id(), but CompositeEffort and CompositeEffortPerPeriod (aggregated effort views) do not. Added hasattr guard.

PEP 8 renames in treectrl.py: scroll_to_selection, scroll_to_selection_centered, is_clickable_part_of_node_clicked, on_key_down, on_item_expanding, on_double_click, on_item_activated, on_begin_edit, on_end_edit, on_mouse_left_down, on_item_checked, get_item_ct_type, refresh_all_check_states, and private methods. Updated callers in base.py and task.py.

2.0.2.9 Issue when trying to change the efforts view filter #425
2.0.2.9 : Impossible to open a second effort view #424
rendering slowness, total blank for seconds when completing something #423

Remove paint suppression and idle wait that caused the tree to go
blank for seconds when marking tasks complete.  The paint debounce
(introduced in v2.0.2.6 to fix the AUI cascade) suppressed ALL
paints during __refreshing and waited 2-3 EVT_IDLE cycles to clear
it.  Multiple rebuilds (filter + sort + presentation) stacked the
blank time.  The motion-only input filter in frame.py is sufficient
to prevent the AUI cascade - paint suppression is redundant.

Rebuild is now synchronous (same as v2.0.2.5): Freeze, rebuild,
Thaw, Refresh(eraseBackground=False).  No blank screen.

Fix CompositeEffort crash: the UUID sort tiebreaker assumed all
items have id(), but CompositeEffort and CompositeEffortPerPeriod
(aggregated effort views) do not.  Added hasattr guard.

PEP 8 renames in treectrl.py and callers in base.py, task.py.
@realcarbonneau realcarbonneau force-pushed the fix-rebuild-blank-screen branch from 54031fb to fe9a434 Compare March 20, 2026 17:38
@realcarbonneau realcarbonneau changed the title Fix sort oscillation, skip redundant tree rebuilds, PEP 8 renames Fix rebuild blank screen, CompositeEffort crash, PEP 8 renames Mar 20, 2026
@realcarbonneau realcarbonneau merged commit d3074e7 into master Mar 20, 2026
25 checks passed
@realcarbonneau realcarbonneau deleted the fix-rebuild-blank-screen branch March 20, 2026 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant