#include <limits.h>
#include <assert.h>
+#ifndef NO_MULTIMON
+#define COMPILE_MULTIMON_STUBS
+#endif
+
#define PUTTY_DO_GLOBALS /* actually _define_ globals */
#include "putty.h"
#include "terminal.h"
#include "win_res.h"
#ifndef NO_MULTIMON
-#if WINVER < 0x0500
-#define COMPILE_MULTIMON_STUBS
#include <multimon.h>
#endif
-#endif
#include <imm.h>
#include <commctrl.h>
back->free(backhandle);
backhandle = NULL;
back = NULL;
+ term_provide_resize_fn(term, NULL, NULL);
update_specials_menu(NULL);
}
if (!cfg_launchable(&cfg) && !do_config()) {
cleanup_exit(0);
}
+ loaded_session = TRUE; /* allow it to be launched directly */
} else if (*p == '&') {
/*
* An initial & means we've been given a command line
cfg = *cp;
UnmapViewOfFile(cp);
CloseHandle(filemap);
+ loaded_session = TRUE;
} else if (!do_config()) {
cleanup_exit(0);
}
cmdline_run_saved(&cfg);
- if (!cfg_launchable(&cfg) && !do_config()) {
+ if ((!loaded_session || !cfg_launchable(&cfg)) &&
+ !do_config()) {
cleanup_exit(0);
}
sfree(handles);
if (must_close_session)
close_session();
- }
-
- sfree(handles);
+ } else
+ sfree(handles);
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
if (msg.message == WM_QUIT)