[COMCTL32] Unregister some classes that were registered. 811/head
authorMark Jansen <mark.jansen@reactos.org>
Fri, 24 Aug 2018 13:59:57 +0000 (15:59 +0200)
committerMark Jansen <mark.jansen@reactos.org>
Mon, 27 Aug 2018 17:49:57 +0000 (19:49 +0200)
This should help fix some crashes.

dll/win32/comctl32/button.c
dll/win32/comctl32/combo.c
dll/win32/comctl32/comctl32.h
dll/win32/comctl32/commctrl.c
dll/win32/comctl32/edit.c
dll/win32/comctl32/listbox.c
dll/win32/comctl32/static.c

index b6c4f4e..bc9336d 100644 (file)
@@ -2104,8 +2104,8 @@ void BUTTON_Register(void)
 
 
 #ifdef __REACTOS__
-void BUTTON_Unregister()
+void BUTTON_Unregister(void)
 {
     UnregisterClassW(WC_BUTTONW, NULL);
 }
-#endif
\ No newline at end of file
+#endif
index 712e272..ee374f4 100644 (file)
@@ -2158,3 +2158,10 @@ void COMBO_Register(void)
     wndClass.lpszClassName = WC_COMBOBOXW;
     RegisterClassW(&wndClass);
 }
+
+#ifdef __REACTOS__
+void COMBO_Unregister(void)
+{
+    UnregisterClassW(WC_COMBOBOXW, NULL);
+}
+#endif
index 2ced440..c529a96 100644 (file)
@@ -270,7 +270,12 @@ extern void TREEVIEW_Unregister(void) DECLSPEC_HIDDEN;
 extern void UPDOWN_Register(void) DECLSPEC_HIDDEN;
 extern void UPDOWN_Unregister(void) DECLSPEC_HIDDEN;
 #ifdef __REACTOS__
-extern void BUTTON_Unregister();
+extern void BUTTON_Unregister(void) DECLSPEC_HIDDEN;
+extern void COMBO_Unregister(void) DECLSPEC_HIDDEN;
+extern void COMBOLBOX_Unregister(void) DECLSPEC_HIDDEN;
+extern void EDIT_Unregister(void) DECLSPEC_HIDDEN;
+extern void LISTBOX_Unregister(void) DECLSPEC_HIDDEN;
+extern void STATIC_Unregister(void) DECLSPEC_HIDDEN;
 extern void TOOLBARv6_Register(void) DECLSPEC_HIDDEN;
 extern void TOOLBARv6_Unregister(void) DECLSPEC_HIDDEN;
 #endif /* __REACTOS__ */
index 6eedf01..d4cb73a 100644 (file)
@@ -231,6 +231,12 @@ static void UnregisterControls(BOOL bV6)
     else
     {
         BUTTON_Unregister();
+        COMBO_Unregister ();
+        COMBOLBOX_Unregister ();
+        EDIT_Unregister ();
+        LISTBOX_Unregister ();
+        STATIC_Unregister ();
+
         TOOLBARv6_Unregister ();
     }
 
index dde7d3e..e2f47d0 100644 (file)
@@ -5039,3 +5039,10 @@ void EDIT_Register(void)
     wndClass.lpszClassName = WC_EDITW;
     RegisterClassW(&wndClass);
 }
+
+#ifdef __REACTOS__
+void EDIT_Unregister(void)
+{
+    UnregisterClassW(WC_EDITW, NULL);
+}
+#endif
index 7857aa8..897f2dc 100644 (file)
@@ -3081,3 +3081,16 @@ void COMBOLBOX_Register(void)
     wndClass.lpszClassName = combolboxW;
     RegisterClassW(&wndClass);
 }
+
+#ifdef __REACTOS__
+void LISTBOX_Unregister(void)
+{
+    UnregisterClassW(WC_LISTBOXW, NULL);
+}
+
+void COMBOLBOX_Unregister(void)
+{
+    static const WCHAR combolboxW[] = {'C','o','m','b','o','L','B','o','x',0};
+    UnregisterClassW(combolboxW, NULL);
+}
+#endif
index d9e2fe3..f136f2c 100644 (file)
@@ -791,3 +791,10 @@ void STATIC_Register(void)
     wndClass.lpszClassName = WC_STATICW;
     RegisterClassW(&wndClass);
 }
+
+#ifdef __REACTOS__
+void STATIC_Unregister(void)
+{
+    UnregisterClassW(WC_STATICW, NULL);
+}
+#endif