Esempio n. 1
0
int OnPluginLoad(WPARAM, LPARAM lParam)
{
	CallPluginEventHook((HINSTANCE)lParam, hTTBModuleLoaded, 0, 0);
	if (g_ctrl->hWnd && g_ctrl->bOrderChanged)
		PostMessage(g_ctrl->hWnd, TTB_UPDATEFRAMEVISIBILITY, 0, 0);
	return 0;
}
Esempio n. 2
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 = (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);
}
Esempio n. 3
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);
}
Esempio n. 4
0
static bool LoadPluginDynamically(PluginListItemData *dat)
{
	TCHAR exe[MAX_PATH];
	GetModuleFileName(NULL, exe, _countof(exe));
	TCHAR *p = _tcsrchr(exe, '\\'); if (p) *p = 0;

	pluginEntry* pPlug = OpenPlugin(dat->fileName, _T("Plugins"), exe);
	if (pPlug->pclass & PCLASS_FAILED) {
	LBL_Error:
		Plugin_UnloadDyn(pPlug);
		return false;
	}

	if (!TryLoadPlugin(pPlug, true))
		goto LBL_Error;

	if (CallPluginEventHook(pPlug->bpi.hInst, hModulesLoadedEvent, 0, 0) != 0)
		goto LBL_Error;

	dat->hInst = pPlug->bpi.hInst;
	NotifyFastHook(hevLoadModule, (WPARAM)pPlug->bpi.pluginInfo, (LPARAM)pPlug->bpi.hInst);
	return true;
}