PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding

Gem selection not always reverting to original value when pressing escape

Open
#4,785 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Lua
Stars
5.4k
Forks
2.4k
Avg merge
1d 12h
Merged PRs (30d)
26

Description

Check version
  • I'm running the latest version of Path of Building and I've verified this by checking the changelog
Check for duplicates
  • I've checked for duplicate issues by using the search function of the issue tracker
What is the expected behaviour/value?

When pressing escape on an expanded selection box in the skill selection, the selection should go back to the original selection from when the box was expanded.

This seem to be related to that the functionality of escape is based on selection index and text in the gem name box. Which can be affected by filtering, and doesnt take into account the boxes level/variant:

GemSelectControl.lua:652:
function GemSelectClass:OnFocusGained() ... self.initialBuf = self.buf self.initialIndex = self.selIndex

GemSelectControl.lua:710
elseif key == "ESCAPE" then self.dropped = false self:BuildList("") self.buf = self.initialBuf self.selIndex = self.initialIndex self:UpdateGem(false,true) return

What is the actual behaviour/value?

The following examples are gifs below:
When filtering out the active skill, selecting that skill and pressing escape, the skill changes to something allowed by the filter

When not filtering, there is still an issue with levels and variant reverted to defaults based on what has been marked when moving up and down the list before escaping:

How to reproduce the issue

As discussed in #863.
Do the following steps:

  • Choose a non-awakened skill (for instance brutality)
  • set show support gems to "awakened"
  • expand the brutality selection box,
  • Press escape

And the second example

  • Chose a skill (for instance brutality)
  • set the level to 7
  • expand the selection list
  • move up and down through the list (and see that level and variant changes)
  • press escape and see that the changes have stuck
Character build code
https://pobb.in/ijj1-ZwhHsWD
Screenshots

Brutality

BrutalitylevelVariant

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in GemSelectControl.lua around the OnFocusGained and ESCAPE handling near lines 652 and 710. Reproduce both filtering and level/variant cases from the issue, then verify that pressing Escape restores the original skill selection, level, and variant; use the linked examples and build code for reference.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.