would this new version be ok?
`wine_rb_remove_key` handles the case where the entry was never added to the tree and `rb_get` returns null, which can happen here: ``` riched20.dll!para_destroy(tagME_TextEditor * editor, tagME_Paragraph * para) Line 57 C riched20.dll!ME_DestroyEditor(tagME_TextEditor * editor) Line 3077 C riched20.dll!ITextServicesImpl_Release(IUnknown * iface) Line 84 C riched20.dll!fnTextSrv_Release(ITextServices * iface) Line 116 C riched20.dll!ITextHostImpl_Release(ITextHost2 * iface) Line 165 C [Inline Frame] riched20.dll!create_windowed_editor(HWND__ * hwnd, tagCREATESTRUCTW * create, int emulate_10) riched20.dll!RichEditWndProc_common(HWND__ * hwnd, unsigned int msg, unsigned __int64 wparam, __int64 lparam, riched20.dll!RichEditWndProcW(HWND__ * hwnd, unsigned int msg, unsigned __int64 wparam, __int64 lparam) Line [Inline Frame] user32.dll!WINPROC_wrapper(__int64(*)(HWND__ *, unsigned int, unsigned __int64, __int64) proc, user32.dll!call_window_proc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wp, __int64 lp, __int64 * resul user32.dll!dispatch_win_proc_params(win_proc_params * params) Line 744 C user32.dll!User32CallWindowProc(win_proc_params * params, unsigned long size) Line 1214 C ntdll.dll!KiUserCallbackDispatcher(unsigned long id, void * args, unsigned long len) Line 670 C ``` in this case, `para_mark_remove` calling `wine_rb_remove` causes a crash
alternatively, i could use `wine_rb_remove` and also check the nFlags in `para_destroy`