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_Initialize(void);
|
||||||
|
extern void THEMING_Uninitialize(void);
|
||||||
extern LRESULT THEMING_CallOriginalClass(HWND, UINT, WPARAM, LPARAM);
|
extern LRESULT THEMING_CallOriginalClass(HWND, UINT, WPARAM, LPARAM);
|
||||||
extern void THEMING_SetSubclassData(HWND, ULONG_PTR);
|
extern void THEMING_SetSubclassData(HWND, ULONG_PTR);
|
||||||
|
|
||||||
|
|
|
@ -150,6 +150,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
|
/* clean up subclassing */
|
||||||
|
THEMING_Uninitialize();
|
||||||
|
|
||||||
/* unregister all common control classes */
|
/* unregister all common control classes */
|
||||||
ANIMATE_Unregister ();
|
ANIMATE_Unregister ();
|
||||||
COMBOEX_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
|
* THEMING_CallOriginalClass
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue