Skip to content

Commit 780de87

Browse files
authored
Merge pull request scp-fs2open#7272 from Goober5000/more_fred_fixes
more FRED fixes when dialogs pop up
2 parents d6c1b36 + d8a6d68 commit 780de87

5 files changed

Lines changed: 13 additions & 4 deletions

File tree

fred2/fredrender.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1820,6 +1820,10 @@ void render_one_model_htl(object *objp) {
18201820

18211821
Assert(objp->type != OBJ_NONE);
18221822

1823+
// if this object isn't fully created yet, don't render it
1824+
if (objp->type == OBJ_SHIP && Ships[objp->instance].create_time == 0)
1825+
return;
1826+
18231827
if (objp->type == OBJ_JUMP_NODE) {
18241828
return;
18251829
}

fred2/jumpnodedlg.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ void jumpnode_dlg::initialize_data(int full_update)
166166
GetDlgItem(IDC_NAME)->EnableWindow(enable);
167167
}
168168

169-
int jumpnode_dlg::update_data()
169+
int jumpnode_dlg::update_data(int redraw)
170170
{
171171
const char *str;
172172
char old_name[255];
@@ -345,7 +345,8 @@ int jumpnode_dlg::update_data()
345345

346346
}
347347

348-
update_map_window();
348+
if (redraw)
349+
update_map_window();
349350

350351
return 0;
351352
}

fred2/jumpnodedlg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class jumpnode_dlg : public CDialog
2020
// Construction
2121
public:
2222
int bypass_errors;
23-
int update_data();
23+
int update_data(int redraw = 1);
2424
void initialize_data(int full_update);
2525
void OnOK();
2626
BOOL Create();

fred2/management.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,7 @@ int update_dialog_boxes()
11801180
return z;
11811181
}
11821182

1183-
z = Jumpnode_editor_dialog.update_data();
1183+
z = Jumpnode_editor_dialog.update_data(0);
11841184
if (z) {
11851185
nprintf(("Fred routing", "jumpnode dialog save failed\n"));
11861186
Jumpnode_editor_dialog

qtfred/src/mission/FredRenderer.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -794,6 +794,10 @@ void FredRenderer::render_one_model_htl(object* objp,
794794

795795
Assert(objp->type != OBJ_NONE);
796796

797+
// if this object isn't fully created yet, don't render it
798+
if (objp->type == OBJ_SHIP && Ships[objp->instance].create_time == 0)
799+
return;
800+
797801
if (objp->type == OBJ_JUMP_NODE) {
798802
return;
799803
}

0 commit comments

Comments
 (0)