FS#2967 - Assertion, if file gets removed and file list re-scanned

Attached to Project: OpenTTD
Opened by Ingo von Borstel (planetmaker) - Sunday, 07 June 2009, 18:54 GMT
Last edited by Remko Bijker (Rubidium) - Thursday, 18 June 2009, 09:47 GMT
Type Bug
Category Core
Status Closed
Assigned To No-one
Operating System All
Severity Low
Priority Normal
Reported Version trunk
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Certainly a bit minor thing, but consider:

from the title screen open the newgrf selection window
select a file
from outside OpenTTD delete that file
hit apply changes
Result: ...trunk/src/fileio.cpp:340: failed assertion `f != NULL'

It's the same for tar'ed grf or plain grf.

The same happens, if you just press "rescan file list" button, even if the deleted file is not selected in any way.

tested with r16533 and 0.7.0
This task depends upon

Closed by  Remko Bijker (Rubidium)
Thursday, 18 June 2009, 09:47 GMT
Reason for closing:  Fixed
Additional comments about closing:  In r16590
Comment by Thijs Marinussen (Yexo) - Monday, 08 June 2009, 23:11 GMT
  • Field changed: Status (New → Confirmed)
With "rescan file list" the assert only happens for NewGRFs that are in a tar file.
With "apply selection" after adding a deleted newgrf the following can happen:
- For NewGRFs in a tar file: the above mentioned assert.
- For NewGRFs not in a tar file: OpenTTD exists with usererror("NewGRF file is missing '%s'", c->filename); (newgrf.cpp:6216)