PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding
Gem selection not always reverting to original value when pressing escape
まだ誰も着手していません。
- 主要言語
- Lua
- スター
- 5.4k
- フォーク
- 2.4k
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 26
説明
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


コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
GemSelectControl.lua の、652 行目と 710 行目付近にある OnFocusGained と ESCAPE の処理から始めます。issue にあるフィルタリングの場合とレベル/バリアントの場合の両方を再現し、その後、Escape を押すと元の skill 選択、レベル、バリアントが復元されることを確認します。参照にはリンクされた例と build コードを使用してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- lua
- 領域
- desktop
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 45/100