private void customDrawableDialog() {
        Array<DrawableData> backup = new Array<>();
        
        dialogFactory.showCustomDrawableDialog(getSkin(), getStage(), (String name1) -> {
            DrawableData drawable = new DrawableData(name1);
            drawable.type = DrawableType.CUSTOM;
            atlasData.getDrawables().add(drawable);
            gatherDrawables();
            dialogFactory.showDialogLoading(() -> {
                Gdx.app.postRunnable(() -> {
                    if (!atlasData.produceAtlas()) {
                        showDrawableError();
                        Gdx.app.log(getClass().getName(), "Attempting to reload drawables backup...");
                        atlasData.getDrawables().clear();
                        atlasData.getDrawables().addAll(backup);
                        gatherDrawables();
                        if (atlasData.produceAtlas()) {
                            Gdx.app.log(getClass().getName(), "Successfully rolled back changes to drawables");
                        } else {
                            Gdx.app.error(getClass().getName(), "Critical failure, could not roll back changes to drawables");
                        }
                    } else {
                        if (projectData.areResourcesRelative()) {
                            projectData.makeResourcesRelative();
                        }
                        
                        projectData.setChangesSaved(false);
                    }
                    
                    sortBySelectedMode();
                });
            });
        });
    }
Show an setStatusBarError indicating a drawable that exceeds project specifications
core/src/com/ray3k/skincomposer/dialog/DialogDrawables.java