From c8ed49929322f0e278cbce650b3903fc8dd16b60 Mon Sep 17 00:00:00 2001 From: Laytan Laats Date: Sun, 20 Oct 2024 18:41:10 +0200 Subject: [PATCH] image: add panic when load is called without any registered loaders --- core/image/general.odin | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/image/general.odin b/core/image/general.odin index 17a8f35ea..f12b6410b 100644 --- a/core/image/general.odin +++ b/core/image/general.odin @@ -23,7 +23,15 @@ register :: proc(kind: Which_File_Type, loader: Loader_Proc, destroyer: Destroy_ load_from_bytes :: proc(data: []byte, options := Options{}, allocator := context.allocator) -> (img: ^Image, err: Error) { loader := _internal_loaders[which(data)] if loader == nil { - return nil, .Unsupported_Format + + // Check if there is at least one loader, otherwise panic to let the user know about misuse. + for a_loader in _internal_loaders { + if a_loader != nil { + return nil, .Unsupported_Format + } + } + + panic("image.load called when no image loaders are registered. Register a loader by first importing a subpackage (eg: `import \"core:image/png\"`), or with image.register") } return loader(data, options, allocator) }