Fixes T11569. This fixes a known bad setIcon(). I also looked for more calls to setIcon() without success, and stubbed setIcon() so we're in good shape even if more exist.
- Maniphest Tasks
- T11569: Nuance is fataling with calls to setIcon()
- rP29957d196bb1: Fix some more setIcon() issues
- Grepped for setIcon( and manually inspect all 1,004 callsites to look for calls on PHUIObjectItemView objects.
- Grepped for "high risk" callsites (setIcon in file after PHUIObjectItemView) and re-examined them. I identified these files with this command:
git ls-tree -r --name-only HEAD | xargs pcregrep -i -M -H -c --files-with-matches -o 'PHUIObjectItemView(.|\n)*setIcon'
There might be some more clever way to do that.
- Since this only identified the callsites I already knew about and I don't have a ton of confidence that I didn't miss any, I put a stub in place that logs a deprecation warning. I'll file a followup to go clean these up in a month or so if the logs are clean.
- Loaded Nuance, saw it work but warn.
- Changed Nuance to use setStatusIcon(), loaded Nuance, no more fatal.
- Use setImageIcon() instead of setStatusIcon().
- Advise setImageIcon() in deprecation warning, and call through to setImageIcon() instead.
- Reverting to setIcon().
- Loading page, verifying it works with large icons but with warnings.
- Changing to setImageIcon().
- Loading page, works with large icons and no warnings.
Yeah, it's a little weird but sort of makes sense considering stuff like the People list and Projects list where we have actual images. I don't know that setLargeIcon() or whatever would really be any more clear.