diff options
| author | Tannin <devnull@localhost> | 2013-06-20 21:55:37 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2013-06-20 21:55:37 +0200 |
| commit | f8c683f700a3fff30540ff343df2bfba15080e86 (patch) | |
| tree | 248b6dcea1f45449675c05d4e64ed4b76e976919 /src/spawn.h | |
| parent | 49cbe0349184419530d22782cc670946b61c9f01 (diff) | |
- some fixes for qt5 compatibility
- hook.dll no longer creates a dump and uninstalls it if an exception is reported that doesn't originate from it
- NCC used read-only transactions again because otherwise solid archives become unusably slow.
- removed the integrated nexus browser
- the mod description and motd are now rendered in QTextBrowser. This (and the above) eliminates the dependency on qtwebkit
- removed the direct file download for mod files
- reduced CPU usage during downloads by invalidating only one column of the download list. This widget still needs to be replaced
- added the complete filename as an option for the modname
- applications that require elevation can now be started by invoking an elevated secondary ModOrganizer instance
- MO will now register nexus file servers and provides a settings dialog to pick preferred servers. (This preference is not used yet)
- worked around 1-2 bugs in QSortFilterProxy
- handling of nxm links is now done by an external application. This allows the registration of different applications depending on the game
- integrated fomod installer now displays the screenshot in a scalable view
- bugfix: integrated fomod installer didn't name output files correctly if the name differs from the source name
- bugfix: a successful login to nexus was (sometimes?) not correctly detected as a success
- bugfix: top-level entries in QtGroupingProxy were sometimes incorrectly displayed as groups
- bugfix: GetPrivateProfile... optimization could cause null-pointer indirection
- bugfix: GetCurrentWorkingDirectory caused buffer overflow in case of pre-flighting (buffer size 0)
- bugfix: configurator plugin now also uses qt5 (it's currently broken though)
Diffstat (limited to 'src/spawn.h')
| -rw-r--r-- | src/spawn.h | 67 |
1 files changed, 43 insertions, 24 deletions
diff --git a/src/spawn.h b/src/spawn.h index 1ccfb307..e0d1f958 100644 --- a/src/spawn.h +++ b/src/spawn.h @@ -17,27 +17,46 @@ You should have received a copy of the GNU General Public License along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef SPAWN_H
-#define SPAWN_H
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <tchar.h>
-#include <QFileInfo>
-#include <QDir>
-
-/**
- * @brief spawn a binary with Mod Organizer injected
- *
- * @param binary the binary to spawn
- * @param arguments arguments to pass to the binary
- * @param profileName name of the active profile
- * @param currentDirectory the directory to use as the working directory to run in
- * @param hooked if set, the binary is started with mo injected
- * @return the process handle
- * @todo is the profile name even used any more?
- * @todo is the hooked parameter used?
- **/
-HANDLE startBinary(const QFileInfo &binary, const QString &arguments, const QString &profileName, int logLevel, const QDir ¤tDirectory, bool hooked);
-
-#endif // SPAWN_H
+#ifndef SPAWN_H +#define SPAWN_H + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#include <tchar.h> +#include <QFileInfo> +#include <QDir> + + +/** + * @brief a dirty little trick so we can issue a clean restart from startBinary + * @note unused + */ +class ExitProxy : public QObject { + Q_OBJECT +public: + static ExitProxy *instance(); + void emitExit(); +signals: + void exit(); +private: + ExitProxy() {} +private: + static ExitProxy *s_Instance; +}; + + +/** + * @brief spawn a binary with Mod Organizer injected + * + * @param binary the binary to spawn + * @param arguments arguments to pass to the binary + * @param profileName name of the active profile + * @param currentDirectory the directory to use as the working directory to run in + * @param hooked if set, the binary is started with mo injected + * @return the process handle + * @todo is the profile name even used any more? + * @todo is the hooked parameter used? + **/ +HANDLE startBinary(const QFileInfo &binary, const QString &arguments, const QString &profileName, int logLevel, const QDir ¤tDirectory, bool hooked); + +#endif // SPAWN_H |
