std::shared_ptr
[dcpomatic.git] / src / lib / cross_windows.cc
index cba674fefa730d550cc28af115f2f6dbedcc3a2d..1fe5556484e6b7a505a447dd77cc4e8c5972cbf1 100644 (file)
@@ -59,7 +59,7 @@ using std::cerr;
 using std::cout;
 using std::runtime_error;
 using std::map;
-using boost::shared_ptr;
+using std::shared_ptr;
 using boost::optional;
 
 static std::vector<pair<HANDLE, string> > locked_volumes;
@@ -128,7 +128,6 @@ run_ffprobe (boost::filesystem::path content, boost::filesystem::path out)
 
        wchar_t dir[512];
        MultiByteToWideChar (CP_UTF8, 0, directory_containing_executable().string().c_str(), -1, dir, sizeof(dir));
-       SetCurrentDirectory (dir);
 
        STARTUPINFO startup_info;
        ZeroMemory (&startup_info, sizeof (startup_info));
@@ -147,7 +146,7 @@ run_ffprobe (boost::filesystem::path content, boost::filesystem::path out)
 
        PROCESS_INFORMATION process_info;
        ZeroMemory (&process_info, sizeof (process_info));
-       if (!CreateProcess (0, command, 0, 0, TRUE, CREATE_NO_WINDOW, 0, 0, &startup_info, &process_info)) {
+       if (!CreateProcess (0, command, 0, 0, TRUE, CREATE_NO_WINDOW, 0, dir, &startup_info, &process_info)) {
                LOG_ERROR_NC (N_("ffprobe call failed (could not CreateProcess)"));
                return;
        }
@@ -346,12 +345,6 @@ home_directory ()
        return boost::filesystem::path(getenv("HOMEDRIVE")) / boost::filesystem::path(getenv("HOMEPATH"));
 }
 
-string
-command_and_read (string)
-{
-       return "";
-}
-
 /** @return true if this process is a 32-bit one running on a 64-bit-capable OS */
 bool
 running_32_on_64 ()
@@ -636,3 +629,9 @@ disk_write_finished ()
 }
 
 
+string
+dcpomatic::get_process_id ()
+{
+       return dcp::raw_convert<string>(GetCurrentProcessId());
+}
+