]> git.saurik.com Git - wxWidgets.git/commitdiff
Update handling and documentation for new window events. Clarify that you must handle...
authorSteve Lamerton <steve.lamerton@gmail.com>
Mon, 25 Jul 2011 13:23:05 +0000 (13:23 +0000)
committerSteve Lamerton <steve.lamerton@gmail.com>
Mon, 25 Jul 2011 13:23:05 +0000 (13:23 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

interface/wx/webview.h
src/msw/webview_ie.cpp

index 4e7ec449831f40253fa8031ba2acb07619a1c5ae..275d5ff5782328c7bbd97b06dc1180e8b69ce7ba 100644 (file)
@@ -155,8 +155,8 @@ public:
        precise error message/code.
     @event{EVT_WEB_VIEW_NEWWINDOW(id, func)}
        Process a @c wxEVT_COMMAND_WEB_VIEW_NEWWINDOW event, generated when a new
-       window is created. This event may be vetoed to prevent a new window showing,
-       for example if you want to open the url in the existing window or a new tab.
+       window is created. You must handle this event if you want anything to 
+       happen, for example to load the page in a new window or tab.
     @endEventTable
    
     @library{wxweb}
@@ -519,8 +519,8 @@ public:
        precise error message/code.
     @event{EVT_WEB_VIEW_NEWWINDOW(id, func)}
        Process a @c wxEVT_COMMAND_WEB_VIEW_NEWWINDOW event, generated when a new
-       window is created. This event may be vetoed to prevent a new window showing,
-       for example if you want to open the url in the existing window or a new tab.
+       window is created. You must handle this event if you want anything to 
+       happen, for example to load the page in a new window or tab.
     @endEventTable
 
     @library{wxweb}
@@ -549,8 +549,7 @@ public:
 
     /** 
         Get whether this event may be vetoed (stopped/prevented). Only
-        meaningful for events fired before navigation takes place or new 
-        window events.
+        meaningful for events fired before navigation takes place.
      */
     bool CanVeto() const;
 
@@ -562,8 +561,7 @@ public:
 
     /** 
         Veto (prevent/stop) this event. Only meaningful for events fired
-        before navigation takes place or new window events. Only valid 
-        if CanVeto() returned true.
+        before navigation takes place. Only valid if CanVeto() returned true.
      */
     void Veto();
 };
\ No newline at end of file
index d2f66d434a4f21751ab628f6bac4e4695dbf727b..084742687d205a32ed2aa270f5d0b5dc71abfabe 100644 (file)
@@ -956,12 +956,10 @@ void wxWebViewIE::onActiveXEvent(wxActiveXEvent& evt)
             event.SetEventObject(this);
             HandleWindowEvent(event);
 
-            //If we veto the event then we cancel the new window
-            if (event.IsVetoed())
-            {
-                wxActiveXEventNativeMSW* nativeParams = evt.GetNativeParameters();
-                *V_BOOLREF(&nativeParams->pDispParams->rgvarg[3]) = VARIANT_TRUE;
-            }
+            //We always cancel this event otherwise an Internet Exporer window
+            //is opened for the url
+            wxActiveXEventNativeMSW* nativeParams = evt.GetNativeParameters();
+            *V_BOOLREF(&nativeParams->pDispParams->rgvarg[3]) = VARIANT_TRUE;
             break;
         }
     }