Fix problem with synchronous export.

It surprises me a bit that the code is different in this case
from the case when EXPORT_in_THREAD is not set. I should check
to see if there's a problem in the other case, too.
This commit is contained in:
Richard Kimberly Heck 2018-04-21 19:48:59 -04:00
parent ea17a3cd09
commit 0fc50a2637

View File

@ -3632,9 +3632,19 @@ bool GuiView::GuiViewPrivate::asyncBufferProcessing(
// We are asynchronous, so we don't know here anything about the success
return true;
} else {
#endif
// this will be run unconditionally in case EXPORT_in_THREAD
// is not defined.
Buffer::ExportStatus status;
if (syncFunc) {
status = (used_buffer->*syncFunc)(format, false);
} else if (previewFunc) {
status = (used_buffer->*previewFunc)(format);
} else
return false;
handleExportStatus(gv_, status, format);
(void) asyncFunc;
return (status == Buffer::ExportSuccess
|| status == Buffer::PreviewSuccess);
}
#else
Buffer::ExportStatus status;
if (syncFunc) {
status = (used_buffer->*syncFunc)(format, true);
@ -3646,9 +3656,6 @@ bool GuiView::GuiViewPrivate::asyncBufferProcessing(
(void) asyncFunc;
return (status == Buffer::ExportSuccess
|| status == Buffer::PreviewSuccess);
#if EXPORT_in_THREAD
// the end of the else clause in that case.
}
#endif
}