diff --git a/src/buffer/katetextbuffer.cpp b/src/buffer/katetextbuffer.cpp --- a/src/buffer/katetextbuffer.cpp +++ b/src/buffer/katetextbuffer.cpp @@ -856,9 +856,14 @@ // close the file, we might want to read from underlying buffer below saveFile->close(); - // did save work? - // FIXME for KCompressionDevice - if (qobject_cast(saveFile.data()) && qobject_cast(saveFile.data())->error() != QFileDevice::NoError) { + // did save work? ATM special handling as QIODevice has no error() + auto fileError = QFileDevice::NoError; + if (auto file = qobject_cast(saveFile.data())) { + fileError = file->error(); + } else if (auto compress = qobject_cast(saveFile.data())) { + fileError = compress->error(); + } + if (fileError != QFileDevice::NoError) { BUFFER_DEBUG << "Saving file " << filename << "failed with error" << saveFile->errorString(); return false; }