]> git.saurik.com Git - wxWidgets.git/commitdiff
check that parent is non-NULL in CreateWindowFromHWND() instead of just crashing...
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 5 Mar 2008 15:18:59 +0000 (15:18 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 5 Mar 2008 15:18:59 +0000 (15:18 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/nativdlg.cpp

index 0f86383b8d4ef0a64c67f352f0750d99ac686eb7..b7ba64f61310acc4e55ef5668c7f242a59351262 100644 (file)
@@ -162,6 +162,8 @@ wxWindow* wxWindow::GetWindowChild(wxWindowID id)
 
 wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
 {
+    wxCHECK_MSG( parent, NULL, _T("must have valid parent for a control") );
+
     wxString str(wxGetWindowClass(hWnd));
     str.UpperCase();
 
@@ -306,9 +308,6 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
     if (win)
     {
         parent->AddChild(win);
-        win->SetEventHandler(win);
-        win->SetHWND(hWnd);
-        win->SetId(id);
         win->SubclassWin(hWnd);
         win->AdoptAttributesFromHWND();
         win->SetupColours();
@@ -318,10 +317,11 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
 }
 
 // Make sure the window style (etc.) reflects the HWND style (roughly)
-void wxWindow::AdoptAttributesFromHWND(void)
+void wxWindow::AdoptAttributesFromHWND()
 {
-    HWND hWnd = (HWND) GetHWND();
-    long style = GetWindowLong((HWND) hWnd, GWL_STYLE);
+    SetId(wxGetWindowId(m_hWnd));
+
+    long style = GetWindowLong(GetHwnd(), GWL_STYLE);
 
     if (style & WS_VSCROLL)
         m_windowStyle |= wxVSCROLL;