diff --git a/src/proxy/proxypython.cpp b/src/proxy/proxypython.cpp index 46ea87e..2592b7f 100644 --- a/src/proxy/proxypython.cpp +++ b/src/proxy/proxypython.cpp @@ -73,6 +73,7 @@ QString ExtractResource(WORD resourceID, const QString &szFilename) UnmapViewOfFile(lpAddress); CloseHandle(hFileMap); + ::FlushFileBuffers(hFile); CloseHandle(hFile); return outFile; diff --git a/src/runner/proxypluginwrappers.cpp b/src/runner/proxypluginwrappers.cpp index d00367f..ddaaf04 100644 --- a/src/runner/proxypluginwrappers.cpp +++ b/src/runner/proxypluginwrappers.cpp @@ -83,6 +83,7 @@ QString IPluginToolWrapper::tooltip() const QIcon IPluginToolWrapper::icon() const { try { +qDebug("%p", this->get_override("icon").ptr()); return this->get_override("icon")().as(); } PYCATCH; } diff --git a/src/runner/pythonrunner.cpp b/src/runner/pythonrunner.cpp index 719981c..2a3da87 100644 --- a/src/runner/pythonrunner.cpp +++ b/src/runner/pythonrunner.cpp @@ -727,6 +727,7 @@ BOOST_PYTHON_MODULE(mobase) .def("startApplication", bpy::pure_virtual(&IOrganizer::startApplication), bpy::return_value_policy()) .def("waitForApplication", bpy::pure_virtual(&IOrganizer::waitForApplication), bpy::return_value_policy()) .def("onAboutToRun", bpy::pure_virtual(&IOrganizer::onAboutToRun)) + .def("onFinishedRun", bpy::pure_virtual(&IOrganizer::onFinishedRun)) .def("onModInstalled", bpy::pure_virtual(&IOrganizer::onModInstalled)) .def("refreshModList", bpy::pure_virtual(&IOrganizer::refreshModList)) ; diff --git a/src/runner/uibasewrappers.h b/src/runner/uibasewrappers.h index 7c035df..ce3b328 100644 --- a/src/runner/uibasewrappers.h +++ b/src/runner/uibasewrappers.h @@ -221,12 +221,13 @@ struct IOrganizerWrapper: MOBase::IOrganizer, boost::python::wrapperget_override("resolvePath")(fileName); } virtual QStringList listDirectories(const QString &directoryName) const { return this->get_override("listDirectories")(directoryName); } virtual QStringList findFiles(const QString &path, const std::function &filter) const { return this->get_override("findFiles")(path, filter); } - virtual QStringList getFileOrigins(const QString &fileName) const { return this->get_override("getFileOrigin")(fileName); } + virtual QStringList getFileOrigins(const QString &fileName) const { return this->get_override("getFileOrigins")(fileName); } virtual QList findFileInfos(const QString &path, const std::function &filter) const { return this->get_override("findFileInfos")(path, filter); } virtual HANDLE startApplication(const QString &executable, const QStringList &args = QStringList(), const QString &cwd = "", const QString &profile = "") { return this->get_override("startApplication")(executable, args, cwd, profile); } virtual bool waitForApplication(HANDLE handle, LPDWORD exitCode = NULL) const { return this->get_override("waitForApplication")(handle, exitCode); } virtual void refreshModList(bool saveChanges = true) { this->get_override("refreshModList")(saveChanges); } virtual bool onAboutToRun(const std::function &func) { return this->get_override("onAboutToRun")(func); } + virtual bool onFinishedRun(const std::function &func) { return this->get_override("onFinishedRun")(func); } virtual bool onModInstalled(const std::function &func) { return this->get_override("onModInstalled")(func); } };