Skip to content

Fix abort when picking while picking

GNOME Shell triggered picking while picking, due to two reasons:

  • It used a relatively terrible clutter API that implicitly did a relayout sometimes
  • It did things with significant side effects when allocating

The combination of these two caused reentry issues as the relatively magic realyout did a bunch of reallocation during picking, which then triggered major side effects, i.e. workspace changes, which went back to try to repick, causing an abort due to the re-entry.

The first patch avoids the first part, by using the old allocation The second patch avoids the second part, by putting the significant side effects in an idle callback when done during allocation

Merge request reports