Updating lost executable commands

I updated to snapshot Version 2018.08.06 (Mac) and I lost all my executable commands. If I bring up the settings window, there is space for them, but no text.

I tried to find where they are stored without luck. I looked in the ~/Library/Tiled folder and while other stuff is there, I can’t see my executable commands.

ScreenShot

This seems to be a compatibility issues between Qt 5.5.1 and newer versions of Qt, in how a QVariant storing a QHash<QString, QVariant> is serialised by QSettings.

Due to bugs in more recent Qt versions I had downgraded the Qt version used for the snapshots to Qt 5.5.1, but that version seems to not be able to read these particular settings when they were saved by more recent versions of Qt.

I’m afraid your settings are already lost. If you were to set up your commands again while using your current build, at least upcoming snapshots using more recent versions of Qt should be able to read those settings. The next snapshot is probably going to use Qt 5.6.3 (though I’m considering upgrading to Qt 5.9 soon).

Where are the settings stored? Is it a text-ish file?

The preferences are stored in ~/Library/Preferences/org.mapeditor.Tiled.plist as documented here. However, there is unfortunately no way to see the actual commands using a plist-editor, since the properties of each command are stored together in a binary blob:

02

And the compatibility is due to a change in the format of this binary serialised data, which seems to have caused Qt 5.5 to not be able to deserialise commands that were serialised by Qt 5.6 or later.

If you still have a backup of the settings file, then you could restore from there and make sure to use Tiled 1.1.6 at least until the next snapshot build is out.