Bug - Fixed Text filtering no longer works on Skill Name field in Skill Casting

Veracity

Developer
Staff member
Go to the Skill Casting Frame.
Enter the Skill Name field.
Type, for example, "Leash"

Expected: the only skill showing will be "Leash of Linguini"
Actual: All available known skills are displayed, sorted first numerically by Mana cost, second alphabetically by skill name
 

fredg1

Member
This doesn't seem to be new... going back to 25970 (from last week) still seems to do that; unless I'm doing this wrong?
 

Veracity

Developer
Staff member
I stopped playing 6 months ago or do, except for running VMF. However, early this month, I decided to do 6 Normal Standard runs to get the Velour outfit (already have the Stained Glass), so now I am actually manually casting skills again in the GUI.

Maybe when I said “new” I meant “since I last used the skill frame six months ago”?

Sorry for misleading!

(6 runs in 13 days, so will finish on the December 14, in time for Crimbo Town, if it will happen this year.)

Sorry.
 

heeheehee

Developer
Staff member
It seems that AutoFilterComboBox.update() isn't being called.

adding super.update() as the first line of SkillSelectComboBox.update() seems to fix this issue
 

heeheehee

Developer
Staff member
Yeah. That particular commit changed AutoFilterComboBox.update() to be protected (for use in EditableAutoFilterComboBox), but that implicitly changed SkillBuffFrame.update() to be an override (which meant that it suppressed the parent behavior).

Enforcing the use of @Override (via lint or otherwise) most likely would have caught this issue.
 

gausie

D̰͕̝͚̤̥̙̐̇̑͗̒e͍͔͎͈͔ͥ̉̔̅́̈l̠̪̜͓̲ͧ̍̈́͛v̻̾ͤe͗̃ͥ̐̊ͬp̔͒ͪ
Staff member
Merged, r25997
 

fronobulax

Developer
Staff member
Yeah. That particular commit changed AutoFilterComboBox.update() to be protected (for use in EditableAutoFilterComboBox), but that implicitly changed SkillBuffFrame.update() to be an override (which meant that it suppressed the parent behavior).

Enforcing the use of @Override (via lint or otherwise) most likely would have caught this issue.

IntelliJ has an analyze feature that I use and call "lint". Is there a preferred or equivalent tool we should recommend for contributors who don't use IntelliJ?
 

heeheehee

Developer
Staff member
I had briefly configured pmd to fail gradle checks if it detects overridden methods without annotation, but there were hundreds of instances of failures and I didn't feel like fixing them all

if you want to use it yourself,

Diff:
plugins {
    id 'application'
    id 'jacoco'
    id 'java'
+   id 'pmd'
...
+ pmd {
+    ruleSets = ['category/java/bestpractices.xml/MissingOverride']
+ }
 
Top