Pass in environment modification list when capturing

This commit is contained in:
baldurk
2016-11-09 19:27:18 +01:00
parent cff5da63eb
commit d6a3086394
3 changed files with 27 additions and 7 deletions
+14 -4
View File
@@ -129,10 +129,20 @@ uint32_t RenderManager::ExecuteAndInject(const QString &exe, const QString &work
{
// if (m_Remote == null)
{
// TODO env
return RENDERDOC_ExecuteAndInject(exe.toUtf8().data(), workingDir.toUtf8().data(),
cmdLine.toUtf8().data(), NULL, logfile.toUtf8().data(), &opts,
false);
void *envList = RENDERDOC_MakeEnvironmentModificationList(env.size());
for(int i = 0; i < env.size(); i++)
RENDERDOC_SetEnvironmentModification(envList, i, env[i].variable.toUtf8().data(),
env[i].value.toUtf8().data(), env[i].type,
env[i].separator);
uint32_t ret = RENDERDOC_ExecuteAndInject(exe.toUtf8().data(), workingDir.toUtf8().data(),
cmdLine.toUtf8().data(), envList,
logfile.toUtf8().data(), &opts, false);
RENDERDOC_FreeEnvironmentModificationList(envList);
return ret;
}
/*
else
+10 -3
View File
@@ -239,8 +239,15 @@ void MainWindow::OnInjectTrigger(uint32_t PID, const QList<EnvironmentModificati
QString logfile = m_Ctx->TempLogFilename(name);
// TODO - env
uint32_t ret = RENDERDOC_InjectIntoProcess(PID, NULL, logfile.toUtf8().data(), &opts, false);
void *envList = RENDERDOC_MakeEnvironmentModificationList(env.size());
for(int i = 0; i < env.size(); i++)
RENDERDOC_SetEnvironmentModification(envList, i, env[i].variable.toUtf8().data(),
env[i].value.toUtf8().data(), env[i].type, env[i].separator);
uint32_t ret = RENDERDOC_InjectIntoProcess(PID, envList, logfile.toUtf8().data(), &opts, false);
RENDERDOC_FreeEnvironmentModificationList(envList);
if(ret == 0)
{
@@ -838,7 +845,7 @@ void MainWindow::closeEvent(QCloseEvent *event)
SaveLayout(0);
}
QString dragFilename(const QMimeData *mimeData)
QString MainWindow::dragFilename(const QMimeData *mimeData)
{
if(mimeData->hasUrls())
{
+3
View File
@@ -34,6 +34,7 @@ class MainWindow;
}
class QLabel;
class QMimeData;
class QProgressBar;
class CaptureDialog;
@@ -81,6 +82,8 @@ private:
void dragEnterEvent(QDragEnterEvent *event) override;
void dropEvent(QDropEvent *event) override;
QString dragFilename(const QMimeData *mimeData);
Ui::MainWindow *ui;
CaptureContext *m_Ctx;