From 45dcdd67d2d818699b1818ea23dee102acae3e4b Mon Sep 17 00:00:00 2001 From: Maximilian Seidler Date: Wed, 9 Jul 2025 10:48:47 +0200 Subject: [PATCH] formats: differentiate between JPEG and JXL when using magic --- src/image/Image.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/image/Image.cpp b/src/image/Image.cpp index 26d15c0..893fc0b 100644 --- a/src/image/Image.cpp +++ b/src/image/Image.cpp @@ -74,10 +74,18 @@ Hyprgraphics::CImage::CImage(const std::string& path) : filepath(path) { if (first_word == "PNG") { CAIROSURFACE = PNG::createSurfaceFromPNG(path); mime = "image/png"; - } else if (first_word == "JPEG") { + } else if (first_word == "JPEG" && !type_str.contains("XL") && !type_str.contains("2000") { CAIROSURFACE = JPEG::createSurfaceFromJPEG(path); imageHasAlpha = false; mime = "image/jpeg"; + } else if (first_word == "JPEG" && type_str.contains("XL")) { +#ifdef JXL_FOUND + CAIROSURFACE = JXL::createSurfaceFromJXL(path); + mime = "image/jxl"; +#else + lastError = "hyprgraphics compiled without JXL support"; + return; +#endif } else if (first_word == "BMP") { CAIROSURFACE = BMP::createSurfaceFromBMP(path); imageHasAlpha = false;