Skip to content

Commit 1c6ef8e

Browse files
authored
Merge pull request #1485 from SilasD/embark-anyone
embark-anyone.lua bugfix: Test the current viewscreen
2 parents 9a3cf1a + d7e20aa commit 1c6ef8e

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Template for new versions:
1717
## New Features
1818

1919
## Fixes
20+
- ``embark-anyone``: validate viewscreen before using, avoids a crash
2021

2122
## Misc Improvements
2223

embark-anyone.lua

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
11
local dialogs = require('gui.dialogs')
22
local utils = require('utils')
33

4-
function addCivToEmbarkList(info)
5-
local viewscreen = dfhack.gui.getDFViewscreen(true)
4+
function embarkAnyone()
65

7-
viewscreen.start_civ:insert ('#', info.civ)
8-
viewscreen.start_civ_nem_num:insert ('#', info.nemeses)
9-
viewscreen.start_civ_entpop_num:insert ('#', info.pops)
10-
viewscreen.start_civ_site_num:insert ('#', info.sites)
11-
end
6+
function addCivToEmbarkList(info)
7+
local viewscreen = dfhack.gui.getDFViewscreen(true)
8+
9+
viewscreen.start_civ:insert ('#', info.civ)
10+
viewscreen.start_civ_nem_num:insert ('#', info.nemeses)
11+
viewscreen.start_civ_entpop_num:insert ('#', info.pops)
12+
viewscreen.start_civ_site_num:insert ('#', info.sites)
13+
end
1214

13-
function embarkAnyone()
1415
local viewscreen = dfhack.gui.getDFViewscreen(true)
16+
if viewscreen._type ~= df.viewscreen_choose_start_sitest then
17+
qerror("This script can only be used on the embark screen!")
18+
end
19+
1520
local choices, existing_civs = {}, {}
1621

1722
for _,existing_civ in ipairs(viewscreen.start_civ) do
1823
existing_civs[existing_civ.id] = true
1924
end
2025

21-
if viewscreen._type ~= df.viewscreen_choose_start_sitest then
22-
qerror("This script can only be used on the embark screen!")
23-
end
24-
2526
for i, civ in ipairs (df.global.world.entities.all) do
2627
-- Test if entity is a civ
2728
if civ.type ~= df.historical_entity_type.Civilization then goto continue end

0 commit comments

Comments
 (0)