PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding

Gem selection not always reverting to original value when pressing escape

Ouverte
#4,785 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug
Langage dominant
Lua
Étoiles
5.4k
Forks
2.4k
Merge moyen
1 j 12 h
PR mergées (30 j)
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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans GemSelectControl.lua, autour de la gestion de OnFocusGained et de ESCAPE près des lignes 652 et 710. Reproduisez à la fois les cas de filtrage et de niveau/variante décrits dans l’issue, puis vérifiez qu’en appuyant sur Escape, la sélection de skill, le niveau et la variante d’origine sont restaurés ; utilisez les exemples liés et le code de build comme référence.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
lua
Domaine
desktop
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.