Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reparenting children tasks is generally broken, and doing so before and after switching between Open and Actionable views will lead to a freeze hang #1018

Open
2 of 4 tasks
nekohayo opened this issue Feb 27, 2024 · 0 comments
Labels
bug priority:critical regression Essential features that recently broke reproducible-in-git Issues that affect the current dev version

Comments

@nekohayo
Copy link
Member

nekohayo commented Feb 27, 2024

As discovered while reporting #1017:

The video below shows an issue with the completed GTK4 port, using the default dataset, where you can eventually make GTG freeze/hang.

The only relevant line in the terminal is this:

Gtk-CRITICAL **: gtk_widget_set_parent: assertion '_gtk_widget_get_parent (widget) == NULL' failed
GTG-GTK4-reparenting-deselects-sidebar-tag-and-eventually-hangs.webm

This bug is one of the issues I had previously reported in #894 (comment), retranscribed below.


General parenting bugs (including ones reported before):

  • ⚠️ If you deparent a child by dragging (i.e. dragging it between tasks) in a view of Open tasks with many tasks (ex: a hundred), the app freezes (it did that previously, but for a moment yesterday we thought maybe this was due to the infinite loop that happened on startup… well nope, that was not the cause, it was just in addition to the hang!)
  • ⚠️ If you drag a child out of a parent, the selected tag in the sidebar resets to "All Tasks" view
  • ⚠️ If you drag a standalone task into a parent (turning the task into a child), the selected tag in the sidebar resets to "All Tasks" view
  • ⚠️ If you drag a child from one parent to another task (re-parent), it duplicates it in the view
  • After reparenting children via drag and drop, doing "Open Parent" twice causes a KeyError traceback, can lead to data file corruption from base_store #1029
@nekohayo nekohayo added bug priority:critical regression Essential features that recently broke labels Feb 27, 2024
@nekohayo nekohayo changed the title Reparenting children tasks before and after switching between Open and Actionable views will lead to a freeze hang Reparenting children tasks is generally broken, and doing so before and after switching between Open and Actionable views will lead to a freeze hang Feb 27, 2024
@nekohayo nekohayo added the reproducible-in-git Issues that affect the current dev version label Feb 27, 2024
gycsaba96 added a commit to gycsaba96/gtg that referenced this issue Apr 24, 2024
The tid_to_subtask_model field keeps track of the ListStores
created for subtasks. The _remove_from_parent_model
and _append_to_model helper functions update these models
when a change happens. This functionality helps to keep
the UI up-to-date.

This fixes one of the problems listed in GitHub issue getting-things-gnome#1018
diegogangl pushed a commit that referenced this issue Apr 25, 2024
The tid_to_subtask_model field keeps track of the ListStores
created for subtasks. The _remove_from_parent_model
and _append_to_model helper functions update these models
when a change happens. This functionality helps to keep
the UI up-to-date.

This fixes one of the problems listed in GitHub issue #1018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug priority:critical regression Essential features that recently broke reproducible-in-git Issues that affect the current dev version
Projects
None yet
Development

No branches or pull requests

1 participant