From d8d92f48c7d4cd3444d50a0c966814c91666f744 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 26 Oct 2012 09:10:17 +0000 Subject: [PATCH] Migliorata gestione maisucole/minuscole in SSA git-svn-id: svn://10.65.10.50/branches/R_10_00@22753 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- xvaga/xvaga.cpp | 29 +++++++++++++++------------ xvaga/xvt_ssa.cpp | 50 +++++++++++++++++++++-------------------------- 2 files changed, 39 insertions(+), 40 deletions(-) diff --git a/xvaga/xvaga.cpp b/xvaga/xvaga.cpp index b05712af5..cb47b8cc9 100755 --- a/xvaga/xvaga.cpp +++ b/xvaga/xvaga.cpp @@ -4142,8 +4142,10 @@ RCT* xvt_vobj_get_client_rect(WINDOW win, RCT *rctp) l = 4600; h = 6800; // circa A4 size at 600 DPI break; default: - CAST_WIN(win, w); - w.GetClientSize(&l, &h); + { + CAST_WIN(win, w); + w.GetClientSize(&l, &h); + } break; } xvt_rect_set(rctp, 0, 0, l, h); @@ -4502,16 +4504,19 @@ void xvt_win_release_pointer(void) void xvt_win_set_cursor(WINDOW win, CURSOR cursor) { - CAST_WIN(win, w); - wxCursor cur; - switch (cursor) - { - case CURSOR_ARROW: cur = *wxSTANDARD_CURSOR; break; - case CURSOR_CROCE: cur = *wxCROSS_CURSOR; break; - case CURSOR_WAIT : cur = *wxHOURGLASS_CURSOR; break; - default: cur = xvtart_GetCursorResource(cursor); break; // Always succeeds - } - w.SetCursor(cur); + if (xvt_vobj_is_valid(win)) // Ignore seting cursor on invalid windows + { + CAST_WIN(win, w); + wxCursor cur; + switch (cursor) + { + case CURSOR_ARROW: cur = *wxSTANDARD_CURSOR; break; + case CURSOR_CROCE: cur = *wxCROSS_CURSOR; break; + case CURSOR_WAIT : cur = *wxHOURGLASS_CURSOR; break; + default: cur = xvtart_GetCursorResource(cursor); break; // Always succeeds + } + w.SetCursor(cur); + } } void xvt_win_set_handler(WINDOW win, EVENT_HANDLER eh) diff --git a/xvaga/xvt_ssa.cpp b/xvaga/xvt_ssa.cpp index ef3261b86..7ce9416c0 100644 --- a/xvaga/xvt_ssa.cpp +++ b/xvaga/xvt_ssa.cpp @@ -10,7 +10,7 @@ static int _ssa_serial = SSA_UTENTE_NON_LOGGATO; static wxString _ssa_module; - +static const char* const _ssa_product = "CAMPO"; static const char* xvt_dongle_sa_id() { static char id[80]; @@ -25,27 +25,6 @@ static const char* xvt_dongle_sa_id() return id; } -static const char* xvt_dongle_sa_product() -{ - static const char* product = NULL; - if (product == NULL) - { - const char* const products[] = { "CAMPO", "Campo", "campo", NULL }; - for (int i = 0; products[i]; i++) - { - if (SSA_Login(xvt_dongle_sa_id(), products[i]) == 0) - { - product = products[i]; - break; - } - } - if (product == NULL) - product = products[0]; - } - return product; -} - - static BOOLEAN xvt_dongle_sa_is_remote_ba0() { BOOLEAN yes = FALSE; @@ -97,10 +76,10 @@ int xvt_dongle_sa_login(const char* module) { if (_ssa_serial < 0) { - err = SSA_Login(xvt_dongle_sa_id(), xvt_dongle_sa_product()); + err = SSA_Login(xvt_dongle_sa_id(), _ssa_product); if (err == 0) { - err = _ssa_serial = SSA_NumeroSerie(xvt_dongle_sa_product()); + err = _ssa_serial = SSA_NumeroSerie(_ssa_product); if (_ssa_timer == NULL && xvt_dongle_sa_is_remote_ba0()) _ssa_timer = new TSSA_Pinger; } @@ -108,12 +87,19 @@ int xvt_dongle_sa_login(const char* module) if (_ssa_serial >= 0 && module && *module) { - err = SSA_ApriModulo(xvt_dongle_sa_id(), module); + wxString m = module; + err = SSA_ApriModulo(xvt_dongle_sa_id(), m); + if (err != 0 && *module >= 'a') + { + m.MakeUpper(); + err = SSA_ApriModulo(xvt_dongle_sa_id(), m); + } + if (err == 0) { if (!_ssa_module.IsEmpty()) xvt_dongle_sa_logout(_ssa_module); - _ssa_module = module; + _ssa_module = m; } } } @@ -151,7 +137,7 @@ int xvt_dongle_sa_logout(const char* module) } else { - err = SSA_Logout(xvt_dongle_sa_id(), xvt_dongle_sa_product()); + err = SSA_Logout(xvt_dongle_sa_id(), _ssa_product); if (err == 0) { _ssa_serial = SSA_UTENTE_NON_LOGGATO; @@ -171,6 +157,14 @@ int xvt_dongle_sa_test(const char* module) { int err = _ssa_serial; if (err >= 0 && module && *module) - err = SSA_VerificaModulo("Campo", module); + { + wxString m = module; + err = SSA_VerificaModulo(_ssa_product, m); + if (err != 0 && *module >= 'a') + { + m.MakeUpper(); + err = SSA_VerificaModulo(_ssa_product, m); + } + } return err; }