PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding
Gem selection not always reverting to original value when pressing escape
Nobody has claimed this yet.
- 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


Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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