Commit 1832fa0
committed
fix a FRED2 crash
Fix a crash caused in part by some missing UI calls in FRED2 and in part by subtle object life cycle issues. Depending on whether FRED receives the focus during mission load (which can happen if the autosave dialog appears) it could access props that were in the process of being cleaned up but were still referenced. This isn't specifically a props issue; it could happen to any FSO object stored in a SCP_vector, since the vector can be cleared.
The quick mission init is to prevent a whole bunch of unnecessary and risky processing during a transient loading state, but it has the nice side effect of making mission list loading noticeably faster.1 parent 4fbfa84 commit 1832fa0
13 files changed
Lines changed: 45 additions & 30 deletions
File tree
- code
- jumpnode
- mission
- object
- prop
- fred2
- qtfred/src
- mission
- ui
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
562 | 562 | | |
563 | 563 | | |
564 | 564 | | |
| 565 | + | |
565 | 566 | | |
566 | 567 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6551 | 6551 | | |
6552 | 6552 | | |
6553 | 6553 | | |
6554 | | - | |
| 6554 | + | |
6555 | 6555 | | |
6556 | 6556 | | |
6557 | 6557 | | |
| |||
7107 | 7107 | | |
7108 | 7108 | | |
7109 | 7109 | | |
7110 | | - | |
| 7110 | + | |
7111 | 7111 | | |
7112 | 7112 | | |
7113 | 7113 | | |
| |||
7119 | 7119 | | |
7120 | 7120 | | |
7121 | 7121 | | |
| 7122 | + | |
| 7123 | + | |
| 7124 | + | |
| 7125 | + | |
| 7126 | + | |
7122 | 7127 | | |
7123 | 7128 | | |
7124 | 7129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
575 | 575 | | |
576 | 576 | | |
577 | 577 | | |
578 | | - | |
| 578 | + | |
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
672 | 672 | | |
673 | 673 | | |
674 | 674 | | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | 675 | | |
679 | 676 | | |
680 | 677 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
| 143 | + | |
143 | 144 | | |
144 | 145 | | |
145 | 146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
823 | 823 | | |
824 | 824 | | |
825 | 825 | | |
826 | | - | |
| 826 | + | |
| 827 | + | |
827 | 828 | | |
828 | 829 | | |
829 | 830 | | |
830 | 831 | | |
831 | 832 | | |
832 | | - | |
833 | | - | |
834 | | - | |
835 | | - | |
836 | | - | |
837 | | - | |
838 | | - | |
| 833 | + | |
839 | 834 | | |
840 | 835 | | |
841 | 836 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
| 111 | + | |
115 | 112 | | |
116 | 113 | | |
117 | 114 | | |
| |||
482 | 479 | | |
483 | 480 | | |
484 | 481 | | |
485 | | - | |
486 | | - | |
487 | | - | |
488 | | - | |
489 | 482 | | |
490 | 483 | | |
491 | 484 | | |
| |||
611 | 604 | | |
612 | 605 | | |
613 | 606 | | |
614 | | - | |
615 | | - | |
| 607 | + | |
| 608 | + | |
616 | 609 | | |
617 | 610 | | |
618 | 611 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1250 | 1250 | | |
1251 | 1251 | | |
1252 | 1252 | | |
1253 | | - | |
1254 | | - | |
1255 | | - | |
1256 | | - | |
1257 | | - | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
1258 | 1257 | | |
1259 | 1258 | | |
1260 | 1259 | | |
| |||
1398 | 1397 | | |
1399 | 1398 | | |
1400 | 1399 | | |
1401 | | - | |
| 1400 | + | |
1402 | 1401 | | |
1403 | 1402 | | |
1404 | 1403 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
865 | 865 | | |
866 | 866 | | |
867 | 867 | | |
| 868 | + | |
868 | 869 | | |
869 | 870 | | |
870 | 871 | | |
| |||
1545 | 1546 | | |
1546 | 1547 | | |
1547 | 1548 | | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
1548 | 1557 | | |
1549 | 1558 | | |
1550 | 1559 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
93 | 94 | | |
94 | 95 | | |
95 | 96 | | |
| |||
0 commit comments