#include "referencecache.h"
#include "stacktrace.h"
+#ifdef WIN32
+#include <windows.h>
+#endif
+
void show_splash();
void hide_splash();
else
strcat (buf, "\n");
- printf ("%s\n", buf);
+ // spam it...
+ globalErrorStream() << buf << "\n";
+ // FIXME why are warnings is_fatal?
+#ifndef _DEBUG
+ if(is_fatal)
+#endif
ERROR_MESSAGE("GTK+ error: " << buf);
}
{
StringOutputStream path(256);
- path << home << RADIANT_VERSION << '/';
+ path << home << "1." << RADIANT_MAJOR_VERSION "." << RADIANT_MINOR_VERSION << '/';
g_strSettingsPath = path.c_str();
}
SaveCommandMap(path.c_str());
}
+void user_shortcuts_save()
+{
+ StringOutputStream path(256);
+ path << SettingsPath_get() << g_pGameDescription->mGameFile.c_str() << '/';
+ SaveCommandMap(path.c_str());
+}
+
int main (int argc, char* argv[])
{
crt_init();
streams_init();
+#ifdef WIN32
+ HMODULE lib;
+ lib = LoadLibrary("dwmapi.dll");
+ if(lib != 0)
+ {
+ void (WINAPI *qDwmEnableComposition) (bool bEnable) = (void (WINAPI *) (bool bEnable)) GetProcAddress(lib, "DwmEnableComposition");
+ if(qDwmEnableComposition)
+ qDwmEnableComposition(FALSE);
+ FreeLibrary(lib);
+ }
+#endif
+
gtk_disable_setlocale();
gtk_init(&argc, &argv);
// redirect Gtk warnings to the console
g_log_set_handler ("Gdk", (GLogLevelFlags)(G_LOG_LEVEL_ERROR|G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING|
- G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG), error_redirect, 0);
+ G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG|G_LOG_FLAG_FATAL|G_LOG_FLAG_RECURSION), error_redirect, 0);
g_log_set_handler ("Gtk", (GLogLevelFlags)(G_LOG_LEVEL_ERROR|G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING|
- G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG), error_redirect, 0);
+ G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG|G_LOG_FLAG_FATAL|G_LOG_FLAG_RECURSION), error_redirect, 0);
g_log_set_handler ("GtkGLExt", (GLogLevelFlags)(G_LOG_LEVEL_ERROR|G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING|
- G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG), error_redirect, 0);
+ G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG|G_LOG_FLAG_FATAL|G_LOG_FLAG_RECURSION), error_redirect, 0);
g_log_set_handler ("GLib", (GLogLevelFlags)(G_LOG_LEVEL_ERROR|G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING|
- G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG), error_redirect, 0);
+ G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG|G_LOG_FLAG_FATAL|G_LOG_FLAG_RECURSION), error_redirect, 0);
g_log_set_handler (0, (GLogLevelFlags)(G_LOG_LEVEL_ERROR|G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING|
- G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG), error_redirect, 0);
+ G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO|G_LOG_LEVEL_DEBUG|G_LOG_FLAG_FATAL|G_LOG_FLAG_RECURSION), error_redirect, 0);
GlobalDebugMessageHandler::instance().setHandler(GlobalPopupDebugMessageHandler::instance());
delete g_pParentWnd;
+ user_shortcuts_save();
+
global_accel_destroy();
Radiant_Shutdown();