static void LoadOptionsModule(HWND hdlg, OptionsDlgData *dat, HINSTANCE hInst) { OptionsPageInit opi = { 0 }; CallPluginEventHook(hInst, hOptionsInitEvent, (WPARAM)&opi, 0); if (opi.pageCount == 0) return; for (int i = 0; i < opi.pageCount; i++) { OptionsPageData* opd = (OptionsPageData*)mir_calloc(sizeof(OptionsPageData)); if (LoadOptionsPage(&opi.odp[i], opd)) dat->arOpd.insert(opd); else mir_free(opd); } FreeOptionsData(&opi); PostMessage(hdlg, DM_REBUILDPAGETREE, 0, 0); }
static void LoadOptionsModule(HWND hdlg, OptionsDlgData *dat, HINSTANCE hInst) { OptionsPageInit opi = { 0 }; CallPluginEventHook(hInst, hOptionsInitEvent, (WPARAM)&opi, 0); if (opi.pageCount == 0) return; for (int i = 0; i < opi.pageCount; i++) { OptionsPageData *opd = new OptionsPageData(&opi.odp[i]); if (opd->pDialog == NULL) // smth went wrong delete opd; else dat->arOpd.insert(opd); } FreeOptionsData(&opi); PostMessage(hdlg, DM_REBUILDPAGETREE, 0, 0); }