This still happens with the current version. The problem is probably this block at the end of ~/.local/share/Steam/steam.sh:
# If steam requested to restart, then restart
if [ $STATUS -eq $MAGIC_RESTART_EXITCODE ] ; then
echo "Restarting Steam by request..."
exec "$0" "$@"
fi
If the client needs a restart, it exits with exit code 42, which tells the wrapper script to restart it with the same parameters.
If the client can only request a restart after the user had a chance to interact with the game installation dialog, the wrapper script should always restart the client without any parameters (e. g. without "$@").
If there are cases where the client can request a restart before showing the game installation dialog, the above code snippet should be duplicated without parameters and with a new magic exit code (e. g. 43). The client could then request a restart with parameters if it hasn't shown the game installation dialog yet, or a restart without parameters if it has shown the dialog already.
Nothing extracted yet.
When Steam is started via install link and the installation is canceled, it shows the installation dialog again after a restart. This keeps happening after subsequent restarts until the game is installed or the Steam client is exited completely.
To reproduce:
steam steam://install/GAMEID)My system information: http://pastebin.com/eGWAsvjA