Unregister theming subclasses at comctl32 shutdown; should fix
reported re-registration errors.
This commit is contained in:
parent
fecc5f21a7
commit
fc4b08d5fc
|
@ -250,6 +250,7 @@ static inline void MONTHCAL_CopyTime(const SYSTEMTIME *from, SYSTEMTIME *to)
|
|||
}
|
||||
|
||||
extern void THEMING_Initialize(void);
|
||||
extern void THEMING_Uninitialize(void);
|
||||
extern LRESULT THEMING_CallOriginalClass(HWND, UINT, WPARAM, LPARAM);
|
||||
extern void THEMING_SetSubclassData(HWND, ULONG_PTR);
|
||||
|
||||
|
|
|
@ -150,6 +150,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
|||
break;
|
||||
|
||||
case DLL_PROCESS_DETACH:
|
||||
/* clean up subclassing */
|
||||
THEMING_Uninitialize();
|
||||
|
||||
/* unregister all common control classes */
|
||||
ANIMATE_Unregister ();
|
||||
COMBOEX_Unregister ();
|
||||
|
|
|
@ -146,6 +146,20 @@ void THEMING_Initialize (void)
|
|||
}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* THEMING_Uninitialize
|
||||
*
|
||||
* Unregister shadow classes for standard controls.
|
||||
*/
|
||||
void THEMING_Uninitialize (void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < NUM_SUBCLASSES; i++)
|
||||
{
|
||||
UnregisterClassW (subclasses[i].className, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* THEMING_CallOriginalClass
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue