]> git.lizzy.rs Git - minetest.git/commitdiff
Fix modpack rename dialog selecting the wrong mod
authornumber Zero <silverunicorn2011@yandex.ru>
Sun, 10 Jun 2018 22:40:00 +0000 (01:40 +0300)
committerrubenwardy <rw@rubenwardy.com>
Sun, 3 Feb 2019 12:40:39 +0000 (12:40 +0000)
builtin/mainmenu/dlg_rename_modpack.lua
builtin/mainmenu/tab_content.lua

index 2b383993fb50359c3df4aeed77daa17aa267086b..b39be7f701ec02a6784bdafeb391aad1443e35d8 100644 (file)
@@ -18,9 +18,6 @@
 --------------------------------------------------------------------------------
 
 local function rename_modpack_formspec(dialogdata)
-
-       dialogdata.mod = pkgmgr.global_mods:get_list()[dialogdata.selected]
-
        local retval =
                "size[11.5,4.5,true]" ..
                "field[2.5,2;7,0.5;te_modpack_name;".. fgettext("Rename Modpack:") .. ";" ..
@@ -38,7 +35,7 @@ local function rename_modpack_buttonhandler(this, fields)
        if fields["dlg_rename_modpack_confirm"] ~= nil then
                local oldpath = core.get_modpath() .. DIR_DELIM .. this.data.mod.name
                local targetpath = core.get_modpath() .. DIR_DELIM .. fields["te_modpack_name"]
-               core.copy_dir(oldpath,targetpath,false)
+               os.rename(oldpath, targetpath)
                pkgmgr.refresh_globals()
                pkgmgr.selected_mod = pkgmgr.global_mods:get_current_index(
                        pkgmgr.global_mods:raw_index_by_uid(fields["te_modpack_name"]))
@@ -56,12 +53,12 @@ local function rename_modpack_buttonhandler(this, fields)
 end
 
 --------------------------------------------------------------------------------
-function create_rename_modpack_dlg(selected_index)
+function create_rename_modpack_dlg(modpack)
 
        local retval = dialog_create("dlg_delete_mod",
                                        rename_modpack_formspec,
                                        rename_modpack_buttonhandler,
                                        nil)
-       retval.data.selected = selected_index
+       retval.data.mod = modpack
        return retval
 end
index 08acd7fed73f44e08af435795efce958fbf37710..d8e2c97538cc0034b4bfdc911c7e4afd7d59a302 100644 (file)
@@ -164,10 +164,12 @@ local function handle_buttons(tabview, fields, tabname, tabdata)
        end
 
        if fields["btn_mod_mgr_rename_modpack"] ~= nil then
-               local dlg_renamemp = create_rename_modpack_dlg(tabdata.selected_pkg)
+               local mod = packages:get_list()[tabdata.selected_pkg]
+               local dlg_renamemp = create_rename_modpack_dlg(mod)
                dlg_renamemp:set_parent(tabview)
                tabview:hide()
                dlg_renamemp:show()
+               packages = nil
                return true
        end