Fix for Bugzilla Entry 330: Correctly handle WM_COMMAND messages in web windows without web control
Modified: trunk/reactos/subsys/system/explorer/shell/webchild.cpp

Modified: trunk/reactos/subsys/system/explorer/shell/webchild.cpp
--- trunk/reactos/subsys/system/explorer/shell/webchild.cpp	2005-10-09 15:12:13 UTC (rev 18378)
+++ trunk/reactos/subsys/system/explorer/shell/webchild.cpp	2005-10-09 15:16:41 UTC (rev 18379)
@@ -247,46 +247,47 @@
 			return TRUE;
 
  		  case PM_DISPATCH_COMMAND: {
-			if (_control) {
-				HRESULT hr = E_FAIL;
+			if (!_control)
+				return FALSE;
 
-				switch(LOWORD(wparam)) {
-				  case ID_GO_BACK:
-					hr = _control->GoBack();
-					break;
+			HRESULT hr = E_FAIL;
 
-				  case ID_GO_FORWARD:
-					hr = _control->GoForward();
-					break;
+			switch(LOWORD(wparam)) {
+			  case ID_GO_BACK:
+				hr = _control->GoBack();
+				break;
 
-				  case ID_GO_UP:
-					///@todo
-					break;
+			  case ID_GO_FORWARD:
+				hr = _control->GoForward();
+				break;
 
-				  case ID_GO_HOME:
-					hr = _control->GoHome();
-					break;
+			  case ID_GO_UP:
+				///@todo
+				break;
 
-				  case ID_GO_SEARCH:
-					hr = _control->GoSearch();
-					break;
+			  case ID_GO_HOME:
+				hr = _control->GoHome();
+				break;
 
-				  case ID_REFRESH:
-					hr = _control->Refresh();
-					break;
+			  case ID_GO_SEARCH:
+				hr = _control->GoSearch();
+				break;
 
-				  case ID_STOP:
-					hr = _control->Stop();
-					break;
+			  case ID_REFRESH:
+				hr = _control->Refresh();
+				break;
 
-				  default:
-					return super::WndProc(nmsg, wparam, lparam);
-				}
+			  case ID_STOP:
+				hr = _control->Stop();
+				break;
 
-				if (FAILED(hr) && hr!=E_FAIL)
-					THROW_EXCEPTION(hr);
+			  default:
+				return super::WndProc(nmsg, wparam, lparam);
 			}
 
+			if (FAILED(hr) && hr!=E_FAIL)
+				THROW_EXCEPTION(hr);
+
 			return TRUE;}
 
 		  default: