Václav Slavík 
							
						 
					 
					
						
						
							
						
						aef081f465 
					 
					
						
						
							
							Don't rely on RVO in wxON_BLOCK_EXIT_SET().  
						
						... 
						
						
						
						MakeVarSetter() relies on the compiler always using RVO, as
VariableSetterImpl<> doesn't have correct copy ctor; worse yet, its use
wasn't detected at compile time.  With some compilers (e.g. VC++ 2008
with non-trivial variable types), this resulted in the variable being
reset too soon, immediately in the place where the macro was used.
Fixed by using the same technique already used in wxScopeGuardImpl. In
fact, VariableSetterImpl is just another special case of
wxScopeGuardImpl, so just derive from the latter.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67592  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2011-04-24 13:14:47 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						011ad05168 
					 
					
						
						
							
							Remove wxHAS_NAMESPACES and gcc 2.95 checks.  
						
						... 
						
						
						
						We use namespaces elsewhere without any checks now so it doesn't make sense to
keep checking for them here.
We also don't support g++ 2.95 since ages so no need to check for it neither.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63473  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2010-02-12 22:47:21 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						e196e5232a 
					 
					
						
						
							
							store the value to be set inside wxON_BLOCK_EXIT_SET(), this allows to use temporaries with it and also fixes the test failure when built with icc and optimizations on (not sure if it is a compiler bug or not but in any case it seems better to fix it)  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56848  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2008-11-19 12:06:17 +00:00 
						 
				 
			
				
					
						
							
							
								Francesco Montorsi 
							
						 
					 
					
						
						
							
						
						22c5cac637 
					 
					
						
						
							
							fix typo (missing P2 argument in template)  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56197  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2008-10-09 14:23:06 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						bcffb4d1a9 
					 
					
						
						
							
							add 3 parameter scope guard; improve its documentation  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56194  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2008-10-09 11:26:50 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						d2a48d5cbc 
					 
					
						
						
							
							added convenient wxON_BLOCK_EXIT_SET() macro  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52857  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2008-03-27 16:13:50 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						51c679d5e2 
					 
					
						
						
							
							added convenient wxON_BLOCK_EXIT_THISn() macros wrapping wxON_BLOCK_EXIT_OBJn(*this)  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52856  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2008-03-27 15:37:41 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						f7e81ed1c2 
					 
					
						
						
							
							make wxScopeGuardImplBase copy ctor public to avoid Sun CC warnings  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48865  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2007-09-21 12:27:25 +00:00 
						 
				 
			
				
					
						
							
							
								Stefan Neis 
							
						 
					 
					
						
						
							
						
						e196c0a258 
					 
					
						
						
							
							Compilation fix for really old gcc versions.  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44111  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2007-01-07 13:28:16 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						2bb3c0c0dd 
					 
					
						
						
							
							take the address of the member in wxON_BLOCK_EXIT_OBJ macros  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34892  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2005-07-20 13:30:28 +00:00 
						 
				 
			
				
					
						
							
							
								Włodzimierz Skiba 
							
						 
					 
					
						
						
							
						
						822fc19ef0 
					 
					
						
						
							
							wxScopeGuard adjustements for Open Watcom.  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34883  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2005-07-18 13:46:29 +00:00 
						 
				 
			
				
					
						
							
							
								Włodzimierz Skiba 
							
						 
					 
					
						
						
							
						
						17e22c50bf 
					 
					
						
						
							
							Open Watcom adjustement.  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34688  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2005-06-17 11:08:32 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						426a63a3a2 
					 
					
						
						
							
							fixed wxON_BLOCK_EXIT macros to work with new definition of wxMAKE_UNIQUE_NAME() (was broken for VC++...)  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34682  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2005-06-16 23:43:19 +00:00 
						 
				 
			
				
					
						
							
							
								Włodzimierz Skiba 
							
						 
					 
					
						
						
							
						
						d775fa8235 
					 
					
						
						
							
							Source cleaning: whitespaces, tabs, -1/wxID_ANY/wxNOT_FOUND/wxDefaultCoord, TRUE/true, FALSE/false.  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29257  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2004-09-22 14:38:52 +00:00 
						 
				 
			
				
					
						
							
							
								Julian Smart 
							
						 
					 
					
						
						
							
						
						655719367a 
					 
					
						
						
							
							Use old licence name  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2004-05-23 20:53:33 +00:00 
						 
				 
			
				
					
						
							
							
								Julian Smart 
							
						 
					 
					
						
						
							
						
						77ffb5937e 
					 
					
						
						
							
							Name and version changes  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2004-05-23 14:56:36 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						f0658b1e1e 
					 
					
						
						
							
							corrected wxCATCH_ALL usage  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23637  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2003-09-17 17:09:23 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						5800b5bed6 
					 
					
						
						
							
							use wxON_BLOCK_EXIT instead of just ON_BLOCK_EXIT  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23636  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2003-09-17 16:59:40 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Zeitlin 
							
						 
					 
					
						
						
							
						
						c66cca2af0 
					 
					
						
						
							
							added wxScopeGuard; test it in the sample  
						
						... 
						
						
						
						git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21694  c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 
						
						
					 
					
						2003-07-05 23:56:08 +00:00