Commit d8957fad authored by Hugo Beauzee-Luyssen's avatar Hugo Beauzee-Luyssen

Solving problems when launching a render after previewing the project

parent c9916340
......@@ -378,7 +378,7 @@ void MainWindow::on_actionRender_triggered()
return ;
else
{
m_renderer->stop();
m_renderer->killRenderer();
if ( m_fileRenderer )
delete m_fileRenderer;
m_fileRenderer = new WorkflowFileRenderer( outputFileName );
......
......@@ -29,10 +29,6 @@
#include <errno.h>
#include <signal.h>
//#ifndef Q_WS_WIN
// #include <wait.h>
//#endif
#include "ProjectManager.h"
#include "Library.h"
#include "MainWorkflow.h"
......
......@@ -80,7 +80,7 @@ void WorkflowFileRenderer::run()
void WorkflowFileRenderer::stop()
{
WorkflowRenderer::stop();
WorkflowRenderer::killRenderer();
}
void WorkflowFileRenderer::cancelButtonClicked()
......
......@@ -227,6 +227,14 @@ class WorkflowRenderer : public GenericRenderer
qint64 newPos, quint32 trackId,
MainWorkflow::TrackType trackType,
bool undoRedoAction = false );
/**
* \brief Completely kill the renderer.
*
* This will stop both mainworkflow and renderer thread.
* This should only be used when destroying the renderer.
* \sa stop();
*/
void killRenderer();
private:
/**
......@@ -247,14 +255,6 @@ class WorkflowRenderer : public GenericRenderer
* \brief check for workflow related actions that has been stacked.
*/
void checkActions();
/**
* \brief Completely kill the renderer.
*
* This will stop both mainworkflow and renderer thread.
* This should only be used when destroying the renderer.
* \sa stop();
*/
void killRenderer();
protected:
/**
......
......@@ -220,6 +220,7 @@ MainWorkflow::stop()
m_tracks[i]->stop();
m_currentFrame[i] = 0;
}
unpause();
emit frameChanged( 0, Renderer );
}
......
......@@ -243,7 +243,8 @@ void TrackWorkflow::releasePreviousRender()
}
}
void* TrackWorkflow::getOutput( qint64 currentFrame, qint64 subFrame )
void*
TrackWorkflow::getOutput( qint64 currentFrame, qint64 subFrame )
{
releasePreviousRender();
QReadLocker lock( m_clipsLock );
......@@ -256,7 +257,6 @@ void* TrackWorkflow::getOutput( qint64 currentFrame, qint64 subFra
if ( m_lastFrame == -1 )
m_lastFrame = currentFrame;
if ( checkEnd( currentFrame ) == true )
{
emit trackEndReached( m_trackId );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment