Skip to content

Commit 292a8a2

Browse files
authored
Fix ConfigVec3iList and ConfigVec3iTupleList causing NPE if empty (#189)
Signed-off-by: Hendrix-Shen <[email protected]>
1 parent d0fee27 commit 292a8a2

File tree

2 files changed

+52
-36
lines changed

2 files changed

+52
-36
lines changed

magiclib-malilib-extra/src/main/java/top/hendrixshen/magiclib/impl/malilib/config/gui/widget/WidgetVec3iListEditEntry.java

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -201,18 +201,22 @@ public void render(
201201
// CHECKSTYLE.ON: SeparatorWrap
202202
// CHECKSTYLE.ON: NoWhitespaceBefore
203203
);
204-
this.vec3iEntry.render(
205-
// CHECKSTYLE.OFF: NoWhitespaceBefore
206-
// CHECKSTYLE.OFF: SeparatorWrap
207-
mouseX,
208-
mouseY,
209-
selected
210-
//#if MC > 11502
211-
, poseStackOrGuiGraphics
212-
//#endif
213-
// CHECKSTYLE.ON: SeparatorWrap
214-
// CHECKSTYLE.ON: NoWhitespaceBefore
215-
);
204+
205+
if (this.vec3iEntry != null) {
206+
this.vec3iEntry.render(
207+
// CHECKSTYLE.OFF: NoWhitespaceBefore
208+
// CHECKSTYLE.OFF: SeparatorWrap
209+
mouseX,
210+
mouseY,
211+
selected
212+
//#if MC > 11502
213+
, poseStackOrGuiGraphics
214+
//#endif
215+
// CHECKSTYLE.ON: SeparatorWrap
216+
// CHECKSTYLE.ON: NoWhitespaceBefore
217+
);
218+
}
219+
216220
super.render(
217221
// CHECKSTYLE.OFF: NoWhitespaceBefore
218222
// CHECKSTYLE.OFF: SeparatorWrap
@@ -242,6 +246,10 @@ protected boolean onMouseClickedImpl(int mouseX, int mouseY, int mouseButton) {
242246

243247
@Override
244248
public boolean onKeyTypedImpl(int keyCode, int scanCode, int modifiers) {
249+
if (this.vec3iEntry == null) {
250+
return false;
251+
}
252+
245253
return this.vec3iEntry.onKeyTypedImpl(keyCode, scanCode, modifiers);
246254
}
247255

magiclib-malilib-extra/src/main/java/top/hendrixshen/magiclib/impl/malilib/config/gui/widget/WidgetVec3iTupleListEditEntry.java

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -211,30 +211,34 @@ public void render(
211211
// CHECKSTYLE.ON: SeparatorWrap
212212
// CHECKSTYLE.ON: NoWhitespaceBefore
213213
);
214-
this.firstVec3iEntry.render(
215-
// CHECKSTYLE.OFF: NoWhitespaceBefore
216-
// CHECKSTYLE.OFF: SeparatorWrap
217-
mouseX,
218-
mouseY,
219-
selected
220-
//#if MC > 11502
221-
, poseStackOrGuiGraphics
222-
//#endif
223-
// CHECKSTYLE.ON: SeparatorWrap
224-
// CHECKSTYLE.ON: NoWhitespaceBefore
225-
);
226-
this.secondVec3iEntry.render(
227-
// CHECKSTYLE.OFF: NoWhitespaceBefore
228-
// CHECKSTYLE.OFF: SeparatorWrap
229-
mouseX,
230-
mouseY,
231-
selected
232-
//#if MC > 11502
233-
, poseStackOrGuiGraphics
234-
//#endif
235-
// CHECKSTYLE.ON: SeparatorWrap
236-
// CHECKSTYLE.ON: NoWhitespaceBefore
237-
);
214+
215+
if (this.firstVec3iEntry != null && this.secondVec3iEntry != null) {
216+
this.firstVec3iEntry.render(
217+
// CHECKSTYLE.OFF: NoWhitespaceBefore
218+
// CHECKSTYLE.OFF: SeparatorWrap
219+
mouseX,
220+
mouseY,
221+
selected
222+
//#if MC > 11502
223+
, poseStackOrGuiGraphics
224+
//#endif
225+
// CHECKSTYLE.ON: SeparatorWrap
226+
// CHECKSTYLE.ON: NoWhitespaceBefore
227+
);
228+
this.secondVec3iEntry.render(
229+
// CHECKSTYLE.OFF: NoWhitespaceBefore
230+
// CHECKSTYLE.OFF: SeparatorWrap
231+
mouseX,
232+
mouseY,
233+
selected
234+
//#if MC > 11502
235+
, poseStackOrGuiGraphics
236+
//#endif
237+
// CHECKSTYLE.ON: SeparatorWrap
238+
// CHECKSTYLE.ON: NoWhitespaceBefore
239+
);
240+
}
241+
238242
super.render(
239243
// CHECKSTYLE.OFF: NoWhitespaceBefore
240244
// CHECKSTYLE.OFF: SeparatorWrap
@@ -265,6 +269,10 @@ protected boolean onMouseClickedImpl(int mouseX, int mouseY, int mouseButton) {
265269

266270
@Override
267271
public boolean onKeyTypedImpl(int keyCode, int scanCode, int modifiers) {
272+
if (this.firstVec3iEntry == null || this.secondVec3iEntry == null) {
273+
return false;
274+
}
275+
268276
return this.firstVec3iEntry.onKeyTypedImpl(keyCode, scanCode, modifiers)
269277
|| this.secondVec3iEntry.onKeyTypedImpl(keyCode, scanCode, modifiers);
270278
}

0 commit comments

Comments
 (0)