Bug - Fixed r25780 throws an exception any time it attempts to update adventures remaining

evilspoons

Member
Hi folks. Just got back into putzing around with KoL again, and Mafia isn't working for me. First was the whole Java 8 JRE debacle, but I am now succesfully running JDK 17 from Adoptium, and Mafia launches. I jumped ahead from whatever was a new build on August 30 2021 to r25780, the latest KolMafiaUpdate.exe gives me right now.

Unfortunately, it's pretty much unable to do anything because whenever it attempts to update the number of adventures I get "unexpected error, debug log printed" and the main exception looks like:
class java.lang.UnsupportedOperationException: The ICON_BADGE_NUMBER feature is not supported on the current platform!

It prints this over and over in the debug log (attached). iirc "ICON_BADGE_NUMBER" has something to do with MacOS and I am running on Windows 10.

The only Mac-related thing I can think of with respect to my Kolmafia install is that it was synced over Dropbox to a Mac like twelve years ago so perhaps some base preference was set that is causing this? I don't know where to even start short of nuking the whole thing from orbit, which I do not want to do.

Thanks!
 

Attachments

  • DEBUG_20211017.txt
    8.7 KB · Views: 0

evilspoons

Member
Further information. I dug around in GLOBAL_prefs.txt and changed "useDockIconBadge=true" to "false" and it works now.

However, keep in mind that I had this set to true for like a decade without issue before. It would seem something is wrong with the check now - perhaps the JDK 17 environment returns the status check differently from JRE 8.
 

heeheehee

Developer
Staff member
In the past few months, we did rework some of the logic around how we deal with this OS-specific stuff. Glad to hear that it's now working for you, but we should fix this more broadly.

In particular, I suspect that this line should use &&, not ||. (Well, it should also be expanded to include a check for ICON_BADGE_NUMBER. But that preference shouldn't override taskbar detection, especially if there are people who sync the same settings across multiple OSes.)
 

evilspoons

Member
I can confirm that now my Windows 10 PC does not throw the exception with "useDockIconBadge" set to true or false. Now... if only I still had a Mac to see if the icon badge still worked 😆

Thanks for the super quick update!
 
Top