mirror of
https://github.com/lovell/sharp.git
synced 2025-12-19 07:15:08 +01:00
Improve error messaging when only warnings issued #4465
This commit is contained in:
@@ -1278,7 +1278,12 @@ class PipelineWorker : public Napi::AsyncWorker {
|
||||
if (what && what[0]) {
|
||||
(baton->err).append(what);
|
||||
} else {
|
||||
(baton->err).append("Unknown error");
|
||||
if (baton->input->failOn == VIPS_FAIL_ON_WARNING) {
|
||||
(baton->err).append("Warning treated as error due to failOn setting");
|
||||
baton->errUseWarning = true;
|
||||
} else {
|
||||
(baton->err).append("Unknown error");
|
||||
}
|
||||
}
|
||||
}
|
||||
// Clean up libvips' per-request data and threads
|
||||
@@ -1293,7 +1298,11 @@ class PipelineWorker : public Napi::AsyncWorker {
|
||||
// Handle warnings
|
||||
std::string warning = sharp::VipsWarningPop();
|
||||
while (!warning.empty()) {
|
||||
debuglog.Call(Receiver().Value(), { Napi::String::New(env, warning) });
|
||||
if (baton->errUseWarning) {
|
||||
(baton->err).append("\n").append(warning);
|
||||
} else {
|
||||
debuglog.Call(Receiver().Value(), { Napi::String::New(env, warning) });
|
||||
}
|
||||
warning = sharp::VipsWarningPop();
|
||||
}
|
||||
|
||||
|
||||
@@ -198,6 +198,7 @@ struct PipelineBaton {
|
||||
bool jxlLossless;
|
||||
VipsBandFormat rawDepth;
|
||||
std::string err;
|
||||
bool errUseWarning;
|
||||
int keepMetadata;
|
||||
int withMetadataOrientation;
|
||||
double withMetadataDensity;
|
||||
@@ -373,6 +374,7 @@ struct PipelineBaton {
|
||||
jxlEffort(7),
|
||||
jxlLossless(false),
|
||||
rawDepth(VIPS_FORMAT_UCHAR),
|
||||
errUseWarning(false),
|
||||
keepMetadata(0),
|
||||
withMetadataOrientation(-1),
|
||||
withMetadataDensity(0.0),
|
||||
|
||||
Reference in New Issue
Block a user