Revert "Fix serverlist not beeing escaped correctly"
authorkwolekr <kwolekr@minetest.net>
Tue, 9 Jul 2013 00:21:09 +0000 (20:21 -0400)
committerkwolekr <kwolekr@minetest.net>
Tue, 9 Jul 2013 00:21:09 +0000 (20:21 -0400)
This reverts commit 39d03148e5d98ef5f9a31b131a79ff2bbd71a877.

builtin/mainmenu.lua
builtin/mainmenu_helper.lua
src/guiFormSpecMenu.cpp

index 564521f92a9c6e20559eb644ac107c0dcaed72bc..d5092cda6f08c11605522755f8fd6312b6cb133f 100644 (file)
@@ -52,6 +52,12 @@ function render_favourite(spec)
                details = details .. " "
        end
        
+       if spec.port ~= nil then
+               text = text .. ":" .. spec.port:trim()
+       else
+               text = text .. ":??"
+       end
+       
        return text
 end
 
@@ -113,8 +119,6 @@ function cleanup_path(temppath)
        return temppath
 end
 
---------------------------------------------------------------------------------
-
 function menu.set_texture(identifier,gamedetails)
        local texture_set = false
        if menu.texturepack ~= nil and gamedetails ~= nil then
@@ -700,7 +704,10 @@ function tabbuilder.handle_multiplayer_buttons(fields)
                end
                
                if event.typ == "CHG" then
-                       local address = menu.favorites[event.index].address
+                       local address = menu.favorites[event.index].name
+                       if address == nil then
+                               address = menu.favorites[event.index].address
+                       end
                        local port = menu.favorites[event.index].port
                        
                        if address ~= nil and
@@ -1138,7 +1145,8 @@ function tabbuilder.tab_multiplayer()
                        retval = retval .. "," .. render_favourite(menu.favorites[i])
                end
        end
-
+       
+       print("cfav: " .. dump(menu.fav_selected))
        if menu.fav_selected ~= nil then
                retval = retval .. ";" .. menu.fav_selected .. "]"
        else
@@ -1181,10 +1189,9 @@ function tabbuilder.tab_server()
                        retval = retval .. "," .. menu.worldlist[i].name .. 
                                                " \\[" .. menu.worldlist[i].gameid .. "\\]"
                end
-               retval = retval .. ";" .. index .. "]"
-       else
-               retval = retval .. ";0]"
        end
+                               
+       retval = retval .. ";" .. index .. "]"
                
        return retval
 end
@@ -1214,8 +1221,7 @@ end
 function tabbuilder.tab_singleplayer()
        local index = engine.setting_get("main_menu_singleplayer_world_idx")
 
-       if index == nil or
-               #menu.filtered_game_list_raw() == 0 then
+       if index == nil then
                index = 0
        end
 
index 25ad072fd43bf679e393ddc05aa09b32a0f12fad..a204b4a37abf206d4a16ed8338ae14578a261590 100644 (file)
@@ -77,11 +77,9 @@ function fs_escape_string(text)
                        text = newtext
                end
                
-               text = string.gsub(text,"\\","\\\\")
-               text = string.gsub(text,"%]","\\]")
-               text = string.gsub(text,"%[","\\[")
-               text = string.gsub(text,";","\\;")
-               text = string.gsub(text,",","\\,")
+               text = text:gsub("%[","\\%[")
+               text = text:gsub("]","\\]")
+               text = text:gsub(";","\\;")
        end
        return text
 end
index 1a99d696be3d0a02b246daae8454f875a8c83f3b..abe519798ed404b34e997ae5d21e70cba8f80a8a 100644 (file)
@@ -611,7 +611,7 @@ void GUIFormSpecMenu::parseTextList(parserData* data,std::string element) {
                std::vector<std::string> v_pos = split(parts[0],',');
                std::vector<std::string> v_geom = split(parts[1],',');
                std::string name = parts[2];
-               std::vector<std::string> items = split(parts[3],',',true);
+               std::vector<std::string> items = split(parts[3],',');
                std::string str_initial_selection = "";
                std::string str_transparent = "false";
 
@@ -1352,7 +1352,6 @@ void GUIFormSpecMenu::parseBox(parserData* data,std::string element) {
 }
 
 void GUIFormSpecMenu::parseElement(parserData* data,std::string element) {
-
        //some prechecks
        if (element == "")
                return;