[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

[XaraXtreme-commits] Commit Complete



Commit by  : alex
Repository : xara
Revision   : 1249
Date       : Mon Jun  5 11:57:43 BST 2006

Changed paths:
   M /Trunk/XaraLX/wxOil/camelot.cpp
   M /Trunk/XaraLX/wxOil/camelot.h
   M /Trunk/XaraLX/wxOil/errors.cpp

Fix SEGV type error reporting so it works properly during init


Diff:
Index: Trunk/XaraLX/wxOil/camelot.h
===================================================================
--- Trunk/XaraLX/wxOil/camelot.h	(revision 1248)
+++ Trunk/XaraLX/wxOil/camelot.h	(revision 1249)
@@ -116,7 +116,7 @@
     wxMDIChildFrame *CreateChildFrame( wxDocument *doc, wxView *view );
 
 	// Functions required to enable/disable the systems functionality.   
-	static void DisableSystem(); 
+	static void DisableSystem(CWindowID WindowID=NULL); 
     static void EnableSystem();
 	static inline bool IsDisabled() {return s_bIsDisabled;}
 
Index: Trunk/XaraLX/wxOil/camelot.cpp
===================================================================
--- Trunk/XaraLX/wxOil/camelot.cpp	(revision 1248)
+++ Trunk/XaraLX/wxOil/camelot.cpp	(revision 1249)
@@ -1191,7 +1191,7 @@
 
 /********************************************************************************************
 
->	void CCamApp::DisableSystem(void)
+>	void CCamApp::DisableSystem(CWindowID WindowID = NULL)
 
 	Author:		Simon_Maneggio (Xara Group Ltd) <camelotdev@xxxxxxxx>
 	Created:	28/10/93
@@ -1205,7 +1205,7 @@
 
 ********************************************************************************************/
 
-void CCamApp::DisableSystem()
+void CCamApp::DisableSystem(CWindowID WindowID /*=NULL*/)
 {
 // RALPH
 #ifdef RALPH
@@ -1219,7 +1219,9 @@
 	wxWindow		   *pWnd;
 
 	if ( ( pWinApp = &AfxGetApp() ) != NULL )		// Note assignment using = not == on both lines
-		if ( ( pWnd = pWinApp->GetTopWindow() ) !=NULL )
+													// Don't disabled if the TLW is the error box we
+													// are disabling in favour of
+		if ( (( pWnd = pWinApp->GetTopWindow() ) !=NULL ) && (pWnd != WindowID))
 			pWnd->Enable(FALSE);					// Only perform operation if no pointers are NULL
 	s_bIsDisabled = true; // The flags value will be tested in the rendering and tool bar
 						  // code etc. When TRUE functionality will be disabled.  	
Index: Trunk/XaraLX/wxOil/errors.cpp
===================================================================
--- Trunk/XaraLX/wxOil/errors.cpp	(revision 1248)
+++ Trunk/XaraLX/wxOil/errors.cpp	(revision 1249)
@@ -640,7 +640,8 @@
 	pBox->Centre();
 
 	// Disable the system's functionality for serious errors (i.e. stop rendering etc).
-	if (Error == ERRORTYPE_SERIOUS || Error == ERRORTYPE_ENSURE) CCamApp::DisableSystem();
+	if (Error == ERRORTYPE_SERIOUS || Error == ERRORTYPE_ENSURE) CCamApp::DisableSystem(pBox);
+
 	if ( Error::IsInRenderThread() )
 		TRACE( _T("InformGeneral called within RenderThread => serious rendering error"));
 


Xara