diff --git a/src/conio/SDL_win32_main.c b/src/conio/SDL_win32_main.c index dd6f9f3ba576b85ae8584c6b18bcd93ea19803f8..96f87f245a5378b395da1b5f2da8693a19a29476 100644 --- a/src/conio/SDL_win32_main.c +++ b/src/conio/SDL_win32_main.c @@ -15,7 +15,7 @@ #define DIR_SEPERATOR TEXT("/") #include <direct.h> -#include "SDL_main.h" /* SDL_RegisterApp() which sets program name... */ +#include "ciolib.h" /* ciolib_appname */ /* Parse a command line buffer into arguments */ static int ParseCommandLine(char *cmdline, char **argv) @@ -95,8 +95,7 @@ static int console_main(int argc, char *argv[], char **env) } strncpy(bufp, appname, n); bufp[n] = '\0'; - appname = bufp; - SDL_RegisterApp(appname, 0, NULL); + ciolib_appname = bufp; /* Run the application main() code */ n=CIOLIB_main(argc, argv); diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c index 9455426dd601f7467c2e22d360512630427aec75..24b0a99b939e24bf7a1023e00d3c6368d89a61ea 100644 --- a/src/conio/ciolib.c +++ b/src/conio/ciolib.c @@ -81,6 +81,7 @@ CIOLIBEXPORT int hold_update=0; CIOLIBEXPORT int puttext_can_move=0; CIOLIBEXPORT int ciolib_xlat=0; CIOLIBEXPORT int ciolib_reaper=TRUE; +CIOLIBEXPORT char *ciolib_appname=NULL; static int initialized=0; CIOLIBEXPORT int CIOLIBCALL ciolib_movetext(int sx, int sy, int ex, int ey, int dx, int dy); diff --git a/src/conio/ciolib.h b/src/conio/ciolib.h index 69f1ea4cfa8be884ce6c9a2c6aa1a8bf8a43fbf8..6d67d952f2bdff1426c3b20abf2ced25c5b19658 100644 --- a/src/conio/ciolib.h +++ b/src/conio/ciolib.h @@ -379,6 +379,7 @@ CIOLIBEXPORTVAR int ciolib_xlat; #define CIOLIB_XLAT_ALL (CIOLIB_XLAT_CHARS | CIOLIB_XLAT_ATTR) CIOLIBEXPORTVAR int ciolib_reaper; +CIOLIBEXPORTVAR char *ciolib_appname; #define _conio_kbhit() kbhit() diff --git a/src/conio/sdlfuncs.c b/src/conio/sdlfuncs.c index 717d77169752ec795ef4e43d5966e56dcadd51ac..2ae8d3cbbeeff2ce9d0ca2699245b9775c5c87e9 100644 --- a/src/conio/sdlfuncs.c +++ b/src/conio/sdlfuncs.c @@ -16,6 +16,8 @@ struct sdlfuncs sdl; #endif #include <xp_dl.h> +#include "ciolib.h" + static int sdl_funcs_loaded=0; static int sdl_initialized=0; static int sdl_audio_initialized=0; @@ -228,6 +230,12 @@ int load_sdl_funcs(struct sdlfuncs *sdlf) xp_dlclose(sdl_dll); return(-1); } + { + int (HACK_HACK_HACK *ra)(char *name, Uint32 style, void *hInst); + if ((ra = xp_dlsym(sdl_dll, SDL_RegisterApp)) != NULL) { + ra(ciolib_appname, 0, NULL); + } + } sdlf->gotfuncs=1; sdl_funcs_loaded=1;