Skip to content

Commit 34c7c4c

Browse files
committed
fix: weird termination cases and segfaults
1 parent ab68f10 commit 34c7c4c

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/ui/editor_inspector.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ void _paint_transform(struct nk_context *ctx, struct ye_entity *ent){
7171
if(nk_button_label(ctx, "Remove Component")){
7272
ye_remove_transform_component(ent);
7373
editor_unsaved();
74+
editor_deselect_all();
7475
}
7576

7677
nk_tree_pop(ctx);
@@ -429,6 +430,10 @@ void _paint_renderer(struct nk_context *ctx, struct ye_entity *ent){
429430
if(nk_button_label(ctx, "Remove Component")){
430431
ye_remove_renderer_component(ent);
431432
editor_unsaved();
433+
editor_deselect_all();
434+
435+
nk_tree_pop(ctx);
436+
return;
432437
}
433438

434439
struct SDL_Rect bounds = ye_get_position_rect(ent, YE_COMPONENT_RENDERER);
@@ -561,6 +566,9 @@ void _paint_camera(struct nk_context *ctx, struct ye_entity *ent){
561566
if(nk_button_label(ctx, "Remove Component")){
562567
ye_remove_camera_component(ent);
563568
editor_unsaved();
569+
editor_deselect_all();
570+
nk_tree_pop(ctx);
571+
return;
564572
}
565573

566574
SDL_Rect bounds = ye_get_position_rect(ent, YE_COMPONENT_CAMERA);
@@ -601,6 +609,9 @@ void _paint_collider(struct nk_context *ctx, struct ye_entity *ent){
601609
if(nk_button_label(ctx, "Remove Component")){
602610
ye_remove_collider_component(ent);
603611
editor_unsaved();
612+
editor_deselect_all();
613+
nk_tree_pop(ctx);
614+
return;
604615
}
605616

606617
SDL_Rect bounds = ye_get_position_rect(ent, YE_COMPONENT_COLLIDER);
@@ -641,6 +652,9 @@ void _paint_physics(struct nk_context *ctx, struct ye_entity *ent){
641652
if(nk_button_label(ctx, "Remove Component")){
642653
ye_remove_physics_component(ent);
643654
editor_unsaved();
655+
editor_deselect_all();
656+
nk_tree_pop(ctx);
657+
return;
644658
}
645659

646660
nk_tree_pop(ctx);
@@ -676,6 +690,9 @@ void _paint_tag(struct nk_context *ctx, struct ye_entity *ent){
676690
if(nk_button_label(ctx, "Remove Component")){
677691
ye_remove_tag_component(ent);
678692
editor_unsaved();
693+
editor_deselect_all();
694+
nk_tree_pop(ctx);
695+
return;
679696
}
680697

681698
nk_tree_pop(ctx);
@@ -835,6 +852,9 @@ void _paint_script(struct nk_context *ctx, struct ye_entity *ent){
835852
if(nk_button_label(ctx, "Remove Component")){
836853
ye_remove_lua_script_component(ent);
837854
editor_unsaved();
855+
editor_deselect_all();
856+
nk_tree_pop(ctx);
857+
return;
838858
}
839859

840860
nk_tree_pop(ctx);
@@ -972,6 +992,10 @@ void _paint_audiosource(struct nk_context *ctx, struct ye_entity *ent){
972992
if(nk_button_label(ctx, "Remove Component")){
973993
ye_remove_audiosource_component(ent);
974994
editor_unsaved();
995+
editor_deselect_all();
996+
997+
nk_tree_pop(ctx);
998+
return;
975999
}
9761000

9771001
SDL_Rect circ = ye_get_position_rect(ent, YE_COMPONENT_AUDIOSOURCE);
@@ -1012,6 +1036,9 @@ void _paint_button(struct nk_context *ctx, struct ye_entity *ent){
10121036
if(nk_button_label(ctx, "Remove Component")){
10131037
ye_remove_button_component(ent);
10141038
editor_unsaved();
1039+
editor_deselect_all();
1040+
nk_tree_pop(ctx);
1041+
return;
10151042
}
10161043

10171044
SDL_Rect bounds = ye_get_position_rect(ent, YE_COMPONENT_BUTTON);

0 commit comments

Comments
 (0)