From 3c4734d69a44aea133e5bd7df66a5dedb87785fb Mon Sep 17 00:00:00 2001 From: Kahrl Date: Tue, 20 Aug 2013 22:38:14 +0200 Subject: Change mainmenu texture handling + small misc changes Texture names must now be escaped in formspec elements image[], background[], image_button[], image_button_exit[]. Instead of special-case handling of texture loading (and unloading which was missing) in guiFormSpecMenu.cpp, use the newly created ISimpleTextureSource interface which is a minimal subset of ITextureSource. There is an implementation of this interface used by GUIEngine (MenuTextureSource). Fix an off-by-one bug in unescape_string; it caused requests for a texture called "\0". --- builtin/gamemgr.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'builtin/gamemgr.lua') diff --git a/builtin/gamemgr.lua b/builtin/gamemgr.lua index 8409bff03..7a5e9790f 100644 --- a/builtin/gamemgr.lua +++ b/builtin/gamemgr.lua @@ -225,7 +225,8 @@ function gamemgr.tab() if current_game.menuicon_path ~= nil and current_game.menuicon_path ~= "" then retval = retval .. - "image[5.8,-0.25;2,2;" .. current_game.menuicon_path .. "]" + "image[5.8,-0.25;2,2;" .. + engine.formspec_escape(current_game.menuicon_path) .. "]" end retval = retval .. @@ -251,7 +252,8 @@ function gamemgr.dialog_edit_game() if current_game.menuicon_path ~= nil and current_game.menuicon_path ~= "" then retval = retval .. - "image[5.25,0;2,2;" .. current_game.menuicon_path .. "]" + "image[5.25,0;2,2;" .. + engine.formspec_escape(current_game.menuicon_path) .. "]" end retval = retval .. -- cgit v1.2.3