X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=ncurses%2Fbase%2Flib_set_term.c;h=18e43531ce813dd8e2878231caed6e28137217f0;hb=f67a188e71a0e6f80c1c45e50e7a7449c2d7bfb3;hp=b900a68e320805e49bda1db8d1c92e61a990368c;hpb=3e37c7d3fa122563a9d88168926f61286ef30cd3;p=ncurses.git diff --git a/ncurses/base/lib_set_term.c b/ncurses/base/lib_set_term.c index b900a68e..18e43531 100644 --- a/ncurses/base/lib_set_term.c +++ b/ncurses/base/lib_set_term.c @@ -44,10 +44,17 @@ #include #include +#if USE_GPM_SUPPORT +#ifdef HAVE_LIBDL +/* use dynamic loader to avoid linkage dependency */ +#include +#endif +#endif + #undef CUR #define CUR SP_TERMTYPE -MODULE_ID("$Id: lib_set_term.c,v 1.171 2020/05/23 19:13:12 tom Exp $") +MODULE_ID("$Id: lib_set_term.c,v 1.173 2020/06/13 21:38:43 tom Exp $") #ifdef USE_TERM_DRIVER #define MaxColors InfoOf(sp).maxcolors @@ -197,6 +204,14 @@ delscreen(SCREEN *sp) if (_nc_find_prescr() == sp) { _nc_forget_prescr(); } +#if USE_GPM_SUPPORT +#ifdef HAVE_LIBDL + if (sp->_dlopen_gpm != 0) { + dlclose(sp->_dlopen_gpm); + sp->_dlopen_gpm = 0; + } +#endif +#endif /* USE_GPM_SUPPORT */ free(sp); /*