@ -444,7 +444,12 @@ static TQString mimeTypeFromFormat(const char* format) {
TQStringList formats = KImageIO : : types ( KImageIO : : Reading ) ;
TQStringList formats = KImageIO : : types ( KImageIO : : Reading ) ;
TQStringList mimeTypes = KImageIO : : mimeTypes ( KImageIO : : Reading ) ;
TQStringList mimeTypes = KImageIO : : mimeTypes ( KImageIO : : Reading ) ;
int pos = formats . findIndex ( TQString : : fromAscii ( format ) ) ;
int pos = formats . findIndex ( TQString : : fromAscii ( format ) ) ;
Q_ASSERT ( pos ! = - 1 ) ;
if ( pos < 0 ) {
// TQImageIO::imageFormat() nay return some different types than listed by
// TQImage::inputFormats(), e.g. "PPMRAW". Also TDE might simly be ignorant
// abous some types known to TQt.
return TQString : : null ;
}
return mimeTypes [ pos ] ;
return mimeTypes [ pos ] ;
}
}
@ -463,13 +468,18 @@ void ImageLoader::slotDataReceived(TDEIO::Job* job, const TQByteArray& chunk) {
const char * format = TQImageIO : : imageFormat ( & buffer ) ;
const char * format = TQImageIO : : imageFormat ( & buffer ) ;
if ( format ) {
if ( format ) {
// This is a raster image, get the mime type now
// This is a raster image, get the mime type now
d - > mURLKind = MimeTypeUtils : : KIND_RASTER_IMAGE ;
d - > mMimeType = mimeTypeFromFormat ( format ) ;
d - > mMimeType = mimeTypeFromFormat ( format ) ;
if ( d - > mMimeType . isNull ( ) ) { // fall back to TDE's autoguess of mime by content
KMimeType : : Ptr ptr = KMimeType : : findByContent ( d - > mRawData ) ;
d - > mMimeType = ptr - > name ( ) ;
}
d - > mURLKind = MimeTypeUtils : : KIND_RASTER_IMAGE ;
} else {
} else {
KMimeType : : Ptr ptr = KMimeType : : findByContent ( d - > mRawData ) ;
KMimeType : : Ptr ptr = KMimeType : : findByContent ( d - > mRawData ) ;
d - > mMimeType = ptr - > name ( ) ;
d - > mMimeType = ptr - > name ( ) ;
d - > mURLKind = MimeTypeUtils : : mimeTypeKind ( d - > mMimeType ) ;
d - > mURLKind = MimeTypeUtils : : mimeTypeKind ( d - > mMimeType ) ;
}
}
if ( d - > mURLKind ! = MimeTypeUtils : : KIND_RASTER_IMAGE ) {
if ( d - > mURLKind ! = MimeTypeUtils : : KIND_RASTER_IMAGE ) {
Q_ASSERT ( ! d - > mDecoderTimer . isActive ( ) ) ;
Q_ASSERT ( ! d - > mDecoderTimer . isActive ( ) ) ;
job - > kill ( true /* quietly */ ) ;
job - > kill ( true /* quietly */ ) ;