de-init com after release, try to better ensure we check for nullptr
see e.g. backtrace
0 sonnet_ispellchecker.dll ISpellCheckerClient::~ISpellCheckerClient
1 sonnet_ispellchecker.dll ISpellCheckerClient::`scalar deleting destructor'
2 Qt5Core.dll QLibraryPrivate::unload
3 Qt5Core.dll QLibraryStore::cleanup
4 Qt5Core.dll anonymous namespace'::dynamic atexit destructor for 'qlibraryCleanup_dtor_instance_''
5 ucrtbase.dll _lambda_f03950bc5685219e0bcd2087efbe011e_::operator
6 ucrtbase.dll crt_seh_guarded_call_int_::operator
7 ucrtbase.dll _execute_onexit_table
8 Qt5Core.dll dllmain_crt_process_detach
9 Qt5Core.dll dllmain_dispatch
10 ntdll.dll LdrpCallInitRoutine
11 ntdll.dll LdrShutdownProcess
12 ntdll.dll RtlExitUserProcess
13 kernel32.dll FatalExit
14 ucrtbase.dll exit_or_terminate_process
15 ucrtbase.dll common_exit
16 kate.exe scrt_common_main_seh
17 kernel32.dll BaseThreadInitThunk
18 ntdll.dll RtlUserThreadStart