From 61df098668a97f94877837419b8d9b81573d5ad8 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Fri, 3 Apr 2020 00:52:51 +0000 Subject: [PATCH] Better attempt to fix taskmanager appname... Add new ciolib_appname and call SDL_RegisterApp(ciolib_appname, 0, NULL) when the symbols are loaded. --- src/conio/SDL_win32_main.c | 5 ++--- src/conio/ciolib.c | 1 + src/conio/ciolib.h | 1 + src/conio/sdlfuncs.c | 8 ++++++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/conio/SDL_win32_main.c b/src/conio/SDL_win32_main.c index dd6f9f3ba5..96f87f245a 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 9455426dd6..24b0a99b93 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 69f1ea4cfa..6d67d952f2 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 717d771697..2ae8d3cbbe 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; -- GitLab