]> git.saurik.com Git - wxWidgets.git/commitdiff
Switched wxCheckWindowWndProc to always use the window class name for
authorRobin Dunn <robin@alldunn.com>
Wed, 25 Jan 2006 20:26:59 +0000 (20:26 +0000)
committerRobin Dunn <robin@alldunn.com>
Wed, 25 Jan 2006 20:26:59 +0000 (20:26 +0000)
comparisons.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/window.cpp

index 2e1ff1f6a48134c67fadd447f45f66741bdfcfc2..8aa92e8e2f3c8668fdaf84b062ac06126febd89b 100644 (file)
@@ -1092,18 +1092,17 @@ void wxWindowMSW::DissociateHandle()
 bool wxCheckWindowWndProc(WXHWND hWnd,
                           WXFARPROC WXUNUSED_IN_WINCE(wndProc))
 {
-    // Unicows note: the code below works, but only because WNDCLASS contains
-    // original window handler rather that the unicows fake one. This may not
-    // be on purpose, though; if it stops working with future versions of
-    // unicows.dll, we can override unicows hooks by setting
-    // Unicows_{Set,Get}WindowLong and Unicows_RegisterClass to our own
-    // versions that keep track of fake<->real wnd proc mapping.
-
-    // On WinCE (at least), the wndproc comparison doesn't work,
-    // so have to use something like this.
-#ifdef __WXWINCE__
+// TODO: This list of window class names should be factored out so they can be
+// managed in one place and then accessed from here and other places, such as
+// wxApp::RegisterWindowClasses() and wxApp::UnregisterWindowClasses()
+    
+#ifdef __WXWINCE__    
     extern       wxChar *wxCanvasClassName;
     extern       wxChar *wxCanvasClassNameNR;
+#else
+    extern const wxChar *wxCanvasClassName;
+    extern const wxChar *wxCanvasClassNameNR;
+#endif
     extern const wxChar *wxMDIFrameClassName;
     extern const wxChar *wxMDIFrameClassNameNoRedraw;
     extern const wxChar *wxMDIChildFrameClassName;
@@ -1117,19 +1116,8 @@ bool wxCheckWindowWndProc(WXHWND hWnd,
         str == wxMDIChildFrameClassNameNoRedraw ||
         str == _T("wxTLWHiddenParent"))
         return true; // Effectively means don't subclass
-
-    return false;
-#else
-    WNDCLASS cls;
-    if ( !::GetClassInfo(wxGetInstance(), wxGetWindowClass(hWnd), &cls) )
-    {
-        wxLogLastError(_T("GetClassInfo"));
-
+    else
         return false;
-    }
-
-    return wndProc == (WXFARPROC)cls.lpfnWndProc;
-#endif
 }
 
 // ----------------------------------------------------------------------------