You need to
before you can comment on or make changes to this bug.
For NPAPI Plugins having stream transfer mode other than NP_NORMAL, a QTemporaryFile through openTemporaryFile() call in PluginStream::startstream gets created and in PluginStream::destroystream the file handle is closed before passing the file path in NPP_AsFile to plugin. By default, the property ‘autoremove’ of QTemporaryFile is true and such a setting deletes the file for closeFileHandle() itself, hence plugin does not see any created temp file.
Created an attachment (id=39247) [details]
Patch which solves the deletion of created temp file before passing to plugin in NPP_AsFile
In the patch, in openTemporaryFile() method implemented for platform Qt in FileSystemQt.cpp, the autoremove property has been set to false.Hence closeFileHandle() just closes and does not delete the file before passing it to plugin. As last step of PluginStream::destroystream, anyways the deletion of this temp file has been taken care.
(From update of attachment 39247 [details])
Your patch looks good in principle, thanks for tracking down this bug!
> + QTemporaryFile *tempFile = new QTemporaryFile(QLatin1String(prefix));
> + tempFile->setAutoRemove(false);
> + QFile *temp = tempFile;
Please fix the coding style for the newly added lines, the position of the * should be next to the type, not the variable.
Also please include a ChangeLog entry explaining your fix, using the same (very good btw) explanation you
mentioned in this bugzilla entry.
r- because of that, but otherwise ok :-)
Created an attachment (id=39255) [details]
Final Patch with review comments incorporated
Thanks for the review Simon !
(From update of attachment 39255 [details])
You don't have to fill out the "Reviewed by" in the ChangeLog, it's okay to leave it with the "NOBODY (OOPS)" field. It will be filled out when landing.
Landed in r48204