diff options
author | jsorg71 <jsorg71> | 2005-07-13 01:07:00 +0000 |
---|---|---|
committer | jsorg71 <jsorg71> | 2005-07-13 01:07:00 +0000 |
commit | 2f4ea160514b89afad5f688e5fe6c03296656648 (patch) | |
tree | efdc2247c0d874451a49e27b18d0ab8913442f00 /xrdp | |
parent | 666b5dd175a1cc837d6ae45d7923679ddeeed241 (diff) | |
download | xrdp-proprietary-2f4ea160514b89afad5f688e5fe6c03296656648.tar.gz xrdp-proprietary-2f4ea160514b89afad5f688e5fe6c03296656648.zip |
got vnc mod working in win32
Diffstat (limited to 'xrdp')
-rw-r--r-- | xrdp/xrdp_login_wnd.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/xrdp/xrdp_login_wnd.c b/xrdp/xrdp_login_wnd.c index 163705f9..cdc1b7d6 100644 --- a/xrdp/xrdp_login_wnd.c +++ b/xrdp/xrdp_login_wnd.c @@ -94,6 +94,8 @@ static int APP_CC xrdp_wm_setup_mod(struct xrdp_wm* self, struct xrdp_mod_data* mod_data) { + void* func; + if (self == 0) { return 1; @@ -103,10 +105,18 @@ xrdp_wm_setup_mod(struct xrdp_wm* self, self->mod_handle = g_load_library(mod_data->lib); if (self->mod_handle != 0) { - self->mod_init = (struct xrdp_mod* (*)(void)) - g_get_proc_address(self->mod_handle, "mod_init"); - self->mod_exit = (int (*)(struct xrdp_mod*)) - g_get_proc_address(self->mod_handle, "mod_exit"); + func = g_get_proc_address(self->mod_handle, "mod_init"); + if (func == 0) + { + func = g_get_proc_address(self->mod_handle, "_mod_init"); + } + self->mod_init = (struct xrdp_mod* (*)(void))func; + func = g_get_proc_address(self->mod_handle, "mod_exit"); + if (func == 0) + { + func = g_get_proc_address(self->mod_handle, "_mod_exit"); + } + self->mod_exit = (int (*)(struct xrdp_mod*))func; if (self->mod_init != 0 && self->mod_exit != 0) { self->mod = self->mod_init(); |