From 700b85cae985f40afd9ff7eed9e948fb9cfaba76 Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 12 Apr 2011 12:59:11 +0000 Subject: [PATCH] Patch level : 10.0 Files correlati : xvaga.dll Ricompilazione Demo : [ ] Commento : Aggiunto supporto per evitare l'esecuzione di multiple copie dei programmi di manutenzione git-svn-id: svn://10.65.10.50/branches/R_10_00@21934 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- xvaga/xvaga.cpp | 5 +++++ xvaga/xvapp.cpp | 1 + xvaga/xvt_defs.h | 3 ++- xvaga/xvtextra.cpp | 5 +++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/xvaga/xvaga.cpp b/xvaga/xvaga.cpp index 971489fd5..748130344 100755 --- a/xvaga/xvaga.cpp +++ b/xvaga/xvaga.cpp @@ -53,6 +53,7 @@ wxString _startup_dir; wxString _strDefaultStatbarText; wxString _appl_name; wxString _appl_version; +BOOLEAN _appl_already_running; wxLocale* _locale = NULL; static XVT_ERRMSG_HANDLER _error_handler = NULL; @@ -3940,6 +3941,9 @@ long xvt_vobj_get_attr(WINDOW win, long data) case ATTR_APPL_VERSION_STRING: ret = (long)(const char*)_appl_version; break; + case ATTR_APPL_ALREADY_RUNNING: + ret = _appl_already_running; + break; case ATTR_DOCFRAME_WIDTH: case ATTR_FRAME_WIDTH: ret = xvt_vobj_get_metric(win, wxSYS_FRAMESIZE_X); @@ -4218,6 +4222,7 @@ void xvt_vobj_set_attr(WINDOW win, long data, long value) } break; case ATTR_APPL_VERSION_STRING: _appl_version = (const char*)value; break; + case ATTR_APPL_ALREADY_RUNNING: _appl_already_running = value != 0; break; case ATTR_BACK_COLOR: SetArtistColor(win, wxAUI_DOCKART_BACKGROUND_COLOUR, value); break; case ATTR_ERRMSG_HANDLER: _error_handler = (XVT_ERRMSG_HANDLER)value; break; case ATTR_EVENT_HOOK: SORRY_BOX(); break; // TBI?: Native events hook! diff --git a/xvaga/xvapp.cpp b/xvaga/xvapp.cpp index 267d7d297..d4cb63386 100755 --- a/xvaga/xvapp.cpp +++ b/xvaga/xvapp.cpp @@ -41,6 +41,7 @@ bool TMainApp::OnInit() const wxFileName strWrk = argv[0]; const wxString strApp = strWrk.GetName().Lower(); m_sic = new wxSingleInstanceChecker(strApp); + xvt_vobj_set_attr(NULL_WIN, ATTR_APPL_ALREADY_RUNNING, m_sic->IsAnotherRunning()); // Non eseguo direttamente xvt_main per dar modo al main event loop di partire wxTimerEvent evt(TIMER_ID); diff --git a/xvaga/xvt_defs.h b/xvaga/xvt_defs.h index 5f0161cd6..68470d46c 100755 --- a/xvaga/xvt_defs.h +++ b/xvaga/xvt_defs.h @@ -5,7 +5,7 @@ * Agreement with XVT Software. * * $RCSfile: xvt_defs.h,v $ - * $Revision: 1.11 $ + * $Revision: 1.11.2.1 $ * * Purpose: Global XVT macro definitions. * @@ -492,6 +492,7 @@ #define ATTR_APP_CTL_FONT_RID (ATTR_BASE + 719) #define ATTR_SPEECH_MODE (ATTR_BASE + 720) /* Added by Guy */ #define ATTR_APPL_VERSION_STRING (ATTR_BASE + 721) /* Added by Guy */ +#define ATTR_APPL_ALREADY_RUNNING (ATTR_BASE + 722) /* Added by Guy */ /* Font attributes */ #define ATTR_FONT_MAPPER (ATTR_BASE + 800) diff --git a/xvaga/xvtextra.cpp b/xvaga/xvtextra.cpp index 095f19da6..f8d69b7d5 100755 --- a/xvaga/xvtextra.cpp +++ b/xvaga/xvtextra.cpp @@ -1,7 +1,8 @@ #include "wxinc.h" -#include -#include #include +#include +#include +#include #include "xvt.h" #include "xvtart.h"