Skip to content

Caravan GUI crash when closing an input field after the interrupt window #1430

@phesch

Description

@phesch

Mod source

Factorio Mod Portal

Operating system

GNU/Linux

What kind of issue is this?

  • Compatibility
  • Locale (names, descriptions, unknown keys)
  • Graphical
  • Crash
  • Progression
  • Balance
  • Pypostprocessing failure
  • Other

What is the problem?

When creating an interrupt for a caravan and editing a value through an input field (the small windows with the sliders and the green checkmark), you can save and close the interrupt window as a whole without closing the input field first. Clicking the green checkmark on the input field afterwards will immediately crash the game. This issue looks to be distinct from the other caravan GUI crashes in the issues here. The issue occurs on the current version of PyAlienLife (3.0.63).

Steps to reproduce

  1. Place caravan
  2. Click on caravan to open caravan GUI
  3. Add a new interrupt and give it a name
  4. In the interrupt GUI, add an interrupt condition "Cargo item count"
  5. Click on the number field with the 0 in it
  6. Click "Save interrupt"
  7. Observe the situation in the screenshot below
  8. Click the green checkmark to crash the game with the error message below

I can always reproduce the issue by following these steps. The fix would probably be to close any child input fields when the main interrupt GUI is closed.

Additional context

Image

Log file

The mod Pyanodons Alien Life (3.0.63) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event pyalienlife::on_gui_click (ID 1)
__pyalienlife__/scripts/caravan/utils.lua:91: attempt to index local 'interrupt' (a nil value)
stack traceback:
	__pyalienlife__/scripts/caravan/utils.lua:91: in function 'get_action_from_button'
	__pyalienlife__/scripts/caravan/event-handlers/action.lua:173: in function 'f'
	__pypostprocessing__/lib/events.lua:85: in function 'wrapped_click'
	__pypostprocessing__/lib/events.lua:172: in function '?'
	__pypostprocessing__/lib/events.lua:128: in function <__pypostprocessing__/lib/events.lua:126>

Metadata

Metadata

Assignees

No one assigned

    Labels

    crashThis kills the gamemod:pyalienlifeThis affects pyalienlife

    Type

    No type

    Projects

    Status

    No status

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions