mirror of https://github.com/OpenVPN/openvpn-gui
				
				
				
			Do not remove tray icon when WM_OVPN_STOPALL is processed
- commit f8a243fbe introduced removing the tray icon during
  the wait for exit to avoid further user interaction. This
  is done in StopAllOpenVPN(). However, this function is also
  reused for processing WM_OVPN_STOPALL message received from
  a second instance via --comamnd disconnect_all. In this case
  the tray icon should not be removed as we are not exiting.
Fixes issue #607
Signed-off-by: Selva Nair <selva.nair@gmail.com>
			
			
				pull/613/head
			
			
		
							parent
							
								
									4803c7ad08
								
							
						
					
					
						commit
						c51a37c2ff
					
				
							
								
								
									
										17
									
								
								main.c
								
								
								
								
							
							
						
						
									
										17
									
								
								main.c
								
								
								
								
							|  | @ -353,11 +353,14 @@ int WINAPI _tWinMain (HINSTANCE hThisInstance, | |||
| 
 | ||||
| 
 | ||||
| static void | ||||
| StopAllOpenVPN() | ||||
| StopAllOpenVPN(bool exiting) | ||||
| { | ||||
|     int i; | ||||
| 
 | ||||
|     RemoveTrayIcon(); | ||||
|     if (exiting) | ||||
|     { | ||||
|         RemoveTrayIcon(); | ||||
|     } | ||||
| 
 | ||||
|     /* Stop all connections started by us -- we leave persistent ones
 | ||||
|      * at their current state. Use the disconnect menu to put them into | ||||
|  | @ -451,7 +454,9 @@ HandleCopyDataMessage(const COPYDATASTRUCT *copy_data) | |||
|         ShowWindow(c->hwndStatus, SW_SHOW); | ||||
|     } | ||||
|     else if(copy_data->dwData == WM_OVPN_STOPALL) | ||||
|         StopAllOpenVPN(); | ||||
|     { | ||||
|         StopAllOpenVPN(false); | ||||
|     } | ||||
|     else if(copy_data->dwData == WM_OVPN_SILENT && str) | ||||
|     { | ||||
|         if (_wtoi(str) == 0) | ||||
|  | @ -680,7 +685,7 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM | |||
| 
 | ||||
|     case WM_DESTROY: | ||||
|       WTSUnRegisterSessionNotification(hwnd); | ||||
|       StopAllOpenVPN(); | ||||
|       StopAllOpenVPN(true); | ||||
|       OnDestroyTray();          /* Remove Tray Icon and destroy menus */ | ||||
|       PostQuitMessage (0);	/* Send a WM_QUIT to the message queue */ | ||||
|       break; | ||||
|  | @ -690,7 +695,7 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM | |||
| 
 | ||||
|     case WM_ENDSESSION: | ||||
|       SaveAutoRestartList(); | ||||
|       StopAllOpenVPN(); | ||||
|       StopAllOpenVPN(true); | ||||
|       OnDestroyTray(); | ||||
|       break; | ||||
| 
 | ||||
|  | @ -980,7 +985,7 @@ ErrorExit(int exit_code, const wchar_t *msg) | |||
|                       MB_OK | MB_SETFOREGROUND | MB_ICONERROR | MBOX_RTL_FLAGS, GetGUILanguage()); | ||||
|     if (o.hWnd) | ||||
|     { | ||||
|         StopAllOpenVPN(); | ||||
|         StopAllOpenVPN(true); | ||||
|         PostQuitMessage(exit_code); | ||||
|     } | ||||
|     else | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Selva Nair
						Selva Nair