diff options
33 files changed, 99 insertions, 89 deletions
diff --git a/bin10/lib/mir_app.lib b/bin10/lib/mir_app.lib Binary files differindex 2d9ee8216d..f259830df3 100644 --- a/bin10/lib/mir_app.lib +++ b/bin10/lib/mir_app.lib diff --git a/bin10/lib/mir_app64.lib b/bin10/lib/mir_app64.lib Binary files differindex a766c0c08d..f8c9933ec1 100644 --- a/bin10/lib/mir_app64.lib +++ b/bin10/lib/mir_app64.lib diff --git a/bin12/lib/mir_app.lib b/bin12/lib/mir_app.lib Binary files differindex 2d9ee8216d..f259830df3 100644 --- a/bin12/lib/mir_app.lib +++ b/bin12/lib/mir_app.lib diff --git a/bin12/lib/mir_app64.lib b/bin12/lib/mir_app64.lib Binary files differindex a766c0c08d..f8c9933ec1 100644 --- a/bin12/lib/mir_app64.lib +++ b/bin12/lib/mir_app64.lib diff --git a/bin14/lib/mir_app.lib b/bin14/lib/mir_app.lib Binary files differindex 2d9ee8216d..f259830df3 100644 --- a/bin14/lib/mir_app.lib +++ b/bin14/lib/mir_app.lib diff --git a/bin14/lib/mir_app64.lib b/bin14/lib/mir_app64.lib Binary files differindex a766c0c08d..f8c9933ec1 100644 --- a/bin14/lib/mir_app64.lib +++ b/bin14/lib/mir_app64.lib diff --git a/include/delphi/m_clistint.inc b/include/delphi/m_clistint.inc index c17aa1a0ee..3b40b71055 100644 --- a/include/delphi/m_clistint.inc +++ b/include/delphi/m_clistint.inc @@ -305,8 +305,8 @@ type      clcProto        : PClcProtoStatus;
    (* clc.h *)
 -    pfnClcOptionsChanged   : procedure ;cdecl;
 -    pfnClcBroadcast        : procedure (_para1:int; _para2:WPARAM; _para3:LPARAM); cdecl;
 +    pfnClcOptionsChanged   : procedure; cdecl;
 +    unused3                : procedure; cdecl;
      pfnBuildGroupPopupMenu : function  (_para1:PClcGroup):HMENU; cdecl;
      pfnContactListControlWndProc:function(hwnd:HWND; msg:uint; wParam:WPARAM; lParam:LPARAM):LRESULT; stdcall;
 diff --git a/include/m_clistint.h b/include/m_clistint.h index 1ff9fc07b2..0557703c01 100644 --- a/include/m_clistint.h +++ b/include/m_clistint.h @@ -247,6 +247,9 @@ struct MenuProto  EXTERN_C MIR_APP_DLL(DWORD) Clist_ContactToHItem(ClcContact *contact);
  EXTERN_C MIR_APP_DLL(HANDLE) Clist_ContactToItemHandle(ClcContact *contact, DWORD *nmFlags);
 +EXTERN_C MIR_APP_DLL(void) Clist_Broadcast(int msg, WPARAM wParam, LPARAM lParam);
 +EXTERN_C MIR_APP_DLL(void) Clist_BroadcastAsync(int msg, WPARAM wParam, LPARAM lParam);
 +
  /////////////////////////////////////////////////////////////////////////////////////////
  // CLIST_INTERFACE structure definition
 @@ -277,7 +280,7 @@ struct CLIST_INTERFACE  	/* clc.h */
  	void  (*pfnClcOptionsChanged)(void);
 -	void  (*pfnClcBroadcast)(int, WPARAM, LPARAM);
 +	void  (*pfnUnused1)();
  	HMENU (*pfnBuildGroupPopupMenu)(struct ClcGroup*); // unused
  	LRESULT (CALLBACK *pfnContactListControlWndProc)(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
 diff --git a/plugins/Clist_modern/src/modern_clc.cpp b/plugins/Clist_modern/src/modern_clc.cpp index 3f4efe4d81..5113cd4013 100644 --- a/plugins/Clist_modern/src/modern_clc.cpp +++ b/plugins/Clist_modern/src/modern_clc.cpp @@ -55,8 +55,8 @@ int ReloadSkinFolder(WPARAM, LPARAM)  static int clcHookSmileyAddOptionsChanged(WPARAM, LPARAM)
  {
  	if (MirandaExiting()) return 0;
 -	pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 -	pcli->pfnClcBroadcast(INTM_INVALIDATE, 0, 0);
 +	Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
 +	Clist_Broadcast(INTM_INVALIDATE, 0, 0);
  	return 0;
  }
 @@ -91,20 +91,20 @@ static int clcHookIconsChanged(WPARAM, LPARAM)  	g_hListeningToIcon = IcoLib_GetIcon("LISTENING_TO_ICON");
 -	pcli->pfnClcBroadcast(INTM_INVALIDATE, 0, 0);
 +	Clist_Broadcast(INTM_INVALIDATE, 0, 0);
  	AniAva_UpdateOptions();
  	return 0;
  }
  static int clcMetaModeChanged(WPARAM, LPARAM)
  {
 -	pcli->pfnClcBroadcast(INTM_RELOADOPTIONS, 0, 0);
 +	Clist_Broadcast(INTM_RELOADOPTIONS, 0, 0);
  	return 0;
  }
  static int clcMetacontactChanged(WPARAM, LPARAM)
  {
 -	pcli->pfnClcBroadcast(INTM_NAMEORDERCHANGED, 0, 0);
 +	Clist_Broadcast(INTM_NAMEORDERCHANGED, 0, 0);
  	return 0;
  }
 @@ -125,28 +125,28 @@ static int clcHookSettingChanged(WPARAM hContact, LPARAM lParam)  	else {
  		if (!strcmp(cws->szModule, "UserInfo")) {
  			if (!strcmp(cws->szSetting, "Timezone"))
 -				pcli->pfnClcBroadcast(INTM_TIMEZONECHANGED, hContact, 0);
 +				Clist_Broadcast(INTM_TIMEZONECHANGED, hContact, 0);
  		}
  		else if (!strcmp(cws->szModule, "CList")) {
  			if (!strcmp(cws->szSetting, "StatusMsg"))
 -				pcli->pfnClcBroadcast(INTM_STATUSMSGCHANGED, hContact, 0);
 +				Clist_Broadcast(INTM_STATUSMSGCHANGED, hContact, 0);
  		}
  		else if (!strcmp(cws->szModule, "ContactPhoto")) {
  			if (!strcmp(cws->szSetting, "File"))
 -				pcli->pfnClcBroadcast(INTM_AVATARCHANGED, hContact, 0);
 +				Clist_Broadcast(INTM_AVATARCHANGED, hContact, 0);
  		}
  		else {
  			if ((!strcmp(cws->szSetting, "XStatusName") || !strcmp(cws->szSetting, "XStatusMsg")))
 -				pcli->pfnClcBroadcast(INTM_STATUSMSGCHANGED, hContact, 0);
 +				Clist_Broadcast(INTM_STATUSMSGCHANGED, hContact, 0);
  			else if (!strcmp(cws->szSetting, "XStatusId"))
 -				pcli->pfnClcBroadcast(INTM_STATUSCHANGED, hContact, 0);
 +				Clist_Broadcast(INTM_STATUSCHANGED, hContact, 0);
  			else if (!strcmp(cws->szSetting, "Timezone"))
 -				pcli->pfnClcBroadcast(INTM_TIMEZONECHANGED, hContact, 0);
 +				Clist_Broadcast(INTM_TIMEZONECHANGED, hContact, 0);
  			else if (!strcmp(cws->szSetting, "ListeningTo"))
 -				pcli->pfnClcBroadcast(INTM_STATUSMSGCHANGED, hContact, 0);
 +				Clist_Broadcast(INTM_STATUSMSGCHANGED, hContact, 0);
  			else if (!strcmp(cws->szSetting, "Transport") || !strcmp(cws->szSetting, "IsTransported")) {
  				pcli->pfnInvalidateDisplayNameCacheEntry(hContact);
 -				pcli->pfnClcBroadcast(CLM_AUTOREBUILD, hContact, 0);
 +				Clist_Broadcast(CLM_AUTOREBUILD, hContact, 0);
  			}
  		}
  	}
 @@ -178,7 +178,7 @@ static int clcHookBkgndConfigChanged(WPARAM, LPARAM)  static int clcHookAvatarChanged(WPARAM wParam, LPARAM lParam)
  {
  	if (MirandaExiting()) return 0;
 -	pcli->pfnClcBroadcast(INTM_AVATARCHANGED, wParam, lParam);
 +	Clist_Broadcast(INTM_AVATARCHANGED, wParam, lParam);
  	return 0;
  }
 @@ -318,7 +318,7 @@ static LRESULT clcOnCommand(ClcData *dat, HWND hwnd, UINT, WPARAM wParam, LPARAM  		switch (LOWORD(wParam)) {
  		case POPUP_GROUPSHOWOFFLINE:
  			Clist_GroupSetFlags(contact->groupId, MAKELPARAM(CLCItems_IsShowOfflineGroup(contact->group) ? 0 : GROUPF_SHOWOFFLINE, GROUPF_SHOWOFFLINE));
 -			pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +			Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  			return 0;
  		}
  	}
 @@ -1522,7 +1522,7 @@ static LRESULT clcOnIntmStatusChanged(ClcData *dat, HWND hwnd, UINT msg, WPARAM  					if (!contact->bImageIsSpecial && pdnce->getStatus() > ID_STATUS_OFFLINE)
  						contact->iImage = corecli.pfnGetContactIcon(wParam);
  					if (contact->iSubNumber && contact->subcontacts && contact->subcontacts->type == CLCIT_CONTACT)
 -						pcli->pfnClcBroadcast(INTM_STATUSCHANGED, contact->subcontacts->hContact, 0); //forward status changing to host meta contact
 +						Clist_Broadcast(INTM_STATUSCHANGED, contact->subcontacts->hContact, 0); //forward status changing to host meta contact
  				}
  			}
  		}
 @@ -1667,7 +1667,7 @@ int ClcDoProtoAck(ACKDATA *ack)  					return 0;
  			db_set_ws(ack->hContact, "CList", "StatusMsg", (const TCHAR *)ack->lParam);
 -			pcli->pfnClcBroadcast(INTM_STATUSCHANGED, ack->hContact, 0);
 +			Clist_Broadcast(INTM_STATUSCHANGED, ack->hContact, 0);
  		}
  		else {
  			if (ack->szModule != NULL)
 @@ -1680,7 +1680,7 @@ int ClcDoProtoAck(ACKDATA *ack)  					if (mir_strcmpi(val, ""))
  						db_set_s(ack->hContact, "CList", "StatusMsg", "");
  					else
 -						pcli->pfnClcBroadcast(INTM_STATUSCHANGED, ack->hContact, 0);
 +						Clist_Broadcast(INTM_STATUSCHANGED, ack->hContact, 0);
  					mir_free(val);
  				}
  			}
 diff --git a/plugins/Clist_modern/src/modern_clcopts.cpp b/plugins/Clist_modern/src/modern_clcopts.cpp index bce1166c21..6a42da09a6 100644 --- a/plugins/Clist_modern/src/modern_clcopts.cpp +++ b/plugins/Clist_modern/src/modern_clcopts.cpp @@ -767,8 +767,8 @@ static INT_PTR CALLBACK DlgProcTrayOpts(HWND hwndDlg, UINT msg, WPARAM wParam, L  void ClcOptionsChanged(void)
  {
 -	pcli->pfnClcBroadcast(INTM_RELOADOPTIONS, 0, 0);
 -	pcli->pfnClcBroadcast(INTM_INVALIDATE, 0, 0);
 +	Clist_Broadcast(INTM_RELOADOPTIONS, 0, 0);
 +	Clist_Broadcast(INTM_INVALIDATE, 0, 0);
  }
  HWND g_hCLUIOptionsWnd = NULL;
 diff --git a/plugins/Clist_modern/src/modern_clistsettings.cpp b/plugins/Clist_modern/src/modern_clistsettings.cpp index 08b5b17827..70665ab9cc 100644 --- a/plugins/Clist_modern/src/modern_clistsettings.cpp +++ b/plugins/Clist_modern/src/modern_clistsettings.cpp @@ -106,7 +106,7 @@ int MetaStatusChanged(WPARAM hMeta, LPARAM)  {
  	ClcCacheEntry *pdnce = pcli->pfnGetCacheEntry(hMeta);
  	if (pdnce)
 -		pcli->pfnClcBroadcast(INTM_STATUSCHANGED, hMeta, 0);
 +		Clist_Broadcast(INTM_STATUSCHANGED, hMeta, 0);
  	return 0;
  }
 @@ -139,7 +139,7 @@ int ContactSettingChanged(WPARAM hContact, LPARAM lParam)  			if ((db_get_w(NULL, "CList", "SecondLineType", 0) == TEXT_STATUS_MESSAGE || db_get_w(NULL, "CList", "ThirdLineType", 0) == TEXT_STATUS_MESSAGE) && pdnce->hContact && pdnce->m_pszProto)
  				amRequestAwayMsg(hContact);
 -			pcli->pfnClcBroadcast(INTM_STATUSCHANGED, hContact, 0);
 +			Clist_Broadcast(INTM_STATUSCHANGED, hContact, 0);
  		}
  		else if (!strcmp(cws->szModule, META_PROTO) && !memcmp(cws->szSetting, "Status", 6)) { // Status0..N for metacontacts
  			if (pcli->hwndContactTree && g_flag_bOnModulesLoadedCalled)
 @@ -161,7 +161,7 @@ int ContactSettingChanged(WPARAM hContact, LPARAM lParam)  	if (!strcmp(cws->szModule, "CList")) {
  		// name is null or (setting is myhandle)
  		if (!strcmp(cws->szSetting, "Rate"))
 -			pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +			Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  		else if (!strcmp(cws->szSetting, "NotOnList"))
  			pdnce->NotOnList = cws->value.bVal;
 @@ -174,11 +174,11 @@ int ContactSettingChanged(WPARAM hContact, LPARAM lParam)  			if (cws->value.type == DBVT_DELETED || cws->value.bVal == 0)
  				pcli->pfnChangeContactIcon(hContact, pcli->pfnIconFromStatusMode(pdnce->m_pszProto, pdnce->getStatus(), hContact));
 -			pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +			Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  		}
  		else if (!strcmp(cws->szSetting, "noOffline")) {
  			pdnce->m_bNoHiddenOffline = cws->value.bVal;
 -			pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +			Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  		}
  	}
  	else if (!strcmp(cws->szModule, "Protocol")) {
 diff --git a/plugins/Clist_modern/src/modern_clui.cpp b/plugins/Clist_modern/src/modern_clui.cpp index 7b51d0edeb..37723a8279 100644 --- a/plugins/Clist_modern/src/modern_clui.cpp +++ b/plugins/Clist_modern/src/modern_clui.cpp @@ -170,7 +170,7 @@ int CLUI::OnEvent_ModulesLoaded(WPARAM, LPARAM)  int CLUI::OnEvent_FontReload(WPARAM wParam, LPARAM lParam)
  {
 -	pcli->pfnClcBroadcast(INTM_RELOADOPTIONS, wParam, lParam);
 +	Clist_Broadcast(INTM_RELOADOPTIONS, wParam, lParam);
  	g_CluiData.dwKeyColor = db_get_dw(NULL, "ModernSettings", "KeyColor", (DWORD)SETTING_KEYCOLOR_DEFAULT);
 @@ -225,7 +225,7 @@ INT_PTR CLUI::Service_Menu_ShowContactAvatar(WPARAM hContact, LPARAM)  {
  	db_set_b(hContact, "CList", "HideContactAvatar", 0);
 -	pcli->pfnClcBroadcast(INTM_AVATARCHANGED, hContact, 0);
 +	Clist_Broadcast(INTM_AVATARCHANGED, hContact, 0);
  	return 0;
  }
 @@ -233,7 +233,7 @@ INT_PTR CLUI::Service_Menu_HideContactAvatar(WPARAM hContact, LPARAM)  {
  	db_set_b(hContact, "CList", "HideContactAvatar", 1);
 -	pcli->pfnClcBroadcast(INTM_AVATARCHANGED, hContact, 0);
 +	Clist_Broadcast(INTM_AVATARCHANGED, hContact, 0);
  	return 0;
  }
 @@ -2029,7 +2029,7 @@ LRESULT CLUI::OnDelayedSizingTimer(UINT, WPARAM, LPARAM)  	if (mutex_bDelayedSizing && !mutex_bDuringSizing) {
  		mutex_bDelayedSizing = 0;
  		KillTimer(m_hWnd, TM_DELAYEDSIZING);
 -		pcli->pfnClcBroadcast(INTM_SCROLLBARCHANGED, 0, 0);
 +		Clist_Broadcast(INTM_SCROLLBARCHANGED, 0, 0);
  	}
  	return TRUE;
  }
 diff --git a/plugins/Clist_modern/src/modern_skinopt.cpp b/plugins/Clist_modern/src/modern_skinopt.cpp index 89722dc765..3c116d4b84 100644 --- a/plugins/Clist_modern/src/modern_skinopt.cpp +++ b/plugins/Clist_modern/src/modern_skinopt.cpp @@ -155,7 +155,7 @@ INT_PTR CALLBACK DlgSkinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara  				ske_LoadSkinFromIniFile(sd->File, FALSE);  				ske_LoadSkinFromDB(); -				pcli->pfnClcBroadcast(INTM_RELOADOPTIONS, 0, 0); +				Clist_Broadcast(INTM_RELOADOPTIONS, 0, 0);  				Sync(CLUIFrames_OnClistResize_mod, 0, 0);  				ske_RedrawCompleteWindow();  				Sync(CLUIFrames_OnClistResize_mod, 0, 0); @@ -233,9 +233,9 @@ INT_PTR CALLBACK DlgSkinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara  		switch (((LPNMHDR)lParam)->idFrom) {  		case 0:  			if (((LPNMHDR)lParam)->code == PSN_APPLY) { -				pcli->pfnClcBroadcast(INTM_RELOADOPTIONS, 0, 0); +				Clist_Broadcast(INTM_RELOADOPTIONS, 0, 0);  				NotifyEventHooks(g_CluiData.hEventBkgrChanged, 0, 0); -				pcli->pfnClcBroadcast(INTM_INVALIDATE, 0, 0); +				Clist_Broadcast(INTM_INVALIDATE, 0, 0);  				RedrawWindow(GetParent(pcli->hwndContactTree), NULL, NULL, RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);  			}  			break; @@ -485,7 +485,7 @@ INT_PTR SvcApplySkin(WPARAM, LPARAM lParam)  {  	ske_LoadSkinFromIniFile((TCHAR *)lParam, FALSE);  	ske_LoadSkinFromDB(); -	pcli->pfnClcBroadcast(INTM_RELOADOPTIONS, 0, 0); +	Clist_Broadcast(INTM_RELOADOPTIONS, 0, 0);  	Sync(CLUIFrames_OnClistResize_mod, 0, 0);  	ske_RedrawCompleteWindow();  	Sync(CLUIFrames_OnClistResize_mod, 0, 0); diff --git a/plugins/Clist_modern/src/modern_statusbar.cpp b/plugins/Clist_modern/src/modern_statusbar.cpp index b5521a6c89..4eca4f67b4 100644 --- a/plugins/Clist_modern/src/modern_statusbar.cpp +++ b/plugins/Clist_modern/src/modern_statusbar.cpp @@ -819,7 +819,7 @@ LRESULT CALLBACK ModernStatusProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa  						ApplyViewMode(filterName);
  					}
 -					pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +					Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  					cliInvalidateRect(hwnd, NULL, FALSE);
  					SetCapture(NULL);
  					return 0;
 diff --git a/plugins/Clist_modern/src/modern_viewmodebar.cpp b/plugins/Clist_modern/src/modern_viewmodebar.cpp index 4e9b144911..0afc589a10 100644 --- a/plugins/Clist_modern/src/modern_viewmodebar.cpp +++ b/plugins/Clist_modern/src/modern_viewmodebar.cpp @@ -625,7 +625,7 @@ void DeleteViewMode(char * szName)  	if (!mir_strcmp(g_CluiData.current_viewmode, szName) && mir_strlen(szName) == mir_strlen(g_CluiData.current_viewmode)) {
  		g_CluiData.bFilterEffective = 0;
 -		pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +		Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  		SetWindowText(hwndSelector, TranslateT("All contacts"));
  	}
 @@ -1242,7 +1242,7 @@ void ApplyViewMode(const char *Name, bool onlySelector)  		if (g_CluiData.bOldUseGroups != (BYTE)-1)
  			CallService(MS_CLIST_SETUSEGROUPS, (WPARAM)g_CluiData.bOldUseGroups, 0);
 -		pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +		Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  		KillTimer(g_hwndViewModeFrame, TIMERID_VIEWMODEEXPIRE);
  		SetDlgItemText(g_hwndViewModeFrame, IDC_SELECTMODE, TranslateT("All contacts"));
  		if (g_CluiData.boldHideOffline != (BYTE)-1)
 @@ -1362,7 +1362,7 @@ void ApplyViewMode(const char *Name, bool onlySelector)  	SetWindowText(hwndSelector, ptrT(mir_utf8decodeW((Name[0] == 13) ? Name + 1 : Name)));
 -	pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +	Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  	cliInvalidateRect(pcli->hwndStatus, NULL, FALSE);
  }
 diff --git a/plugins/Clist_nicer/src/clc.cpp b/plugins/Clist_nicer/src/clc.cpp index fb81cdbefa..cc7ec10771 100644 --- a/plugins/Clist_nicer/src/clc.cpp +++ b/plugins/Clist_nicer/src/clc.cpp @@ -50,7 +50,7 @@ void  SetDBButtonStates(MCONTACT hContact);  int AvatarChanged(WPARAM wParam, LPARAM lParam)
  {
 -	pcli->pfnClcBroadcast(INTM_AVATARCHANGED, wParam, lParam);
 +	Clist_Broadcast(INTM_AVATARCHANGED, wParam, lParam);
  	return 0;
  }
 @@ -85,7 +85,7 @@ static int ClcEventAdded(WPARAM hContact, LPARAM lParam)  				p->dwLastMsgTime = dbei.timestamp;
  				if (new_freq)
  					p->msgFrequency = new_freq;
 -				pcli->pfnClcBroadcast(INTM_FORCESORT, 0, 1);
 +				Clist_Broadcast(INTM_FORCESORT, 0, 1);
  			}
  		}
  	}
 @@ -96,7 +96,7 @@ static int ClcMetamodeChanged(WPARAM bMetaEnabled, LPARAM)  {
  	if (BOOL(bMetaEnabled) != cfg::dat.bMetaEnabled) {
  		cfg::dat.bMetaEnabled = (BYTE)bMetaEnabled;
 -		pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +		Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  	}
  	return 0;
  }
 @@ -113,14 +113,14 @@ static int ClcSettingChanged(WPARAM hContact, LPARAM lParam)  		}
  		else if (!__strcmp(cws->szModule, "UserInfo")) {
  			if (!__strcmp(cws->szSetting, "ANSIcodepage"))
 -				pcli->pfnClcBroadcast(INTM_CODEPAGECHANGED, hContact, lParam);
 +				Clist_Broadcast(INTM_CODEPAGECHANGED, hContact, lParam);
  			else if (!__strcmp(cws->szSetting, "Timezone") || !__strcmp(cws->szSetting, "TzName"))
  				ReloadExtraInfo(hContact);
  		}
  		else if (hContact != 0 && (szProto = GetContactProto(hContact)) != NULL) {
  			if (!__strcmp(cws->szModule, "Protocol") && !__strcmp(cws->szSetting, "p")) {
  				char *szProto_s;
 -				pcli->pfnClcBroadcast(INTM_PROTOCHANGED, hContact, lParam);
 +				Clist_Broadcast(INTM_PROTOCHANGED, hContact, lParam);
  				if (cws->value.type == DBVT_DELETED)
  					szProto_s = NULL;
  				else
 @@ -149,10 +149,10 @@ static int ClcSettingChanged(WPARAM hContact, LPARAM lParam)  				if (!(cfg::dat.dwFlags & CLUI_USEMETAICONS) && !__strcmp(szProto, META_PROTO))
  					if ((mir_strlen(cws->szSetting) > 6 && !strncmp(cws->szSetting, "Status", 6)) || strstr("Default,ForceSend,Nick", cws->szSetting))
 -						pcli->pfnClcBroadcast(INTM_NAMEORDERCHANGED, hContact, lParam);
 +						Clist_Broadcast(INTM_NAMEORDERCHANGED, hContact, lParam);
  			}
  			if (cfg::dat.bMetaEnabled && !__strcmp(cws->szModule, META_PROTO) && !__strcmp(cws->szSetting, "IsSubcontact"))
 -				pcli->pfnClcBroadcast(INTM_HIDDENCHANGED, hContact, lParam);
 +				Clist_Broadcast(INTM_HIDDENCHANGED, hContact, lParam);
  		}
  	}
  	else if (!__strcmp(cws->szModule, "Skin") && !__strcmp(cws->szSetting, "UseSound")) {
 diff --git a/plugins/Clist_nicer/src/clcmsgs.cpp b/plugins/Clist_nicer/src/clcmsgs.cpp index 8d42dddcc7..16859d8fa2 100644 --- a/plugins/Clist_nicer/src/clcmsgs.cpp +++ b/plugins/Clist_nicer/src/clcmsgs.cpp @@ -71,7 +71,7 @@ LRESULT ProcessExternalMessages(HWND hwnd, struct ClcData *dat, UINT msg, WPARAM  				return 0;
  			contact->flags ^= CONTACTF_PRIORITY;
  			db_set_b(contact->hContact, "CList", "Priority", (BYTE)(contact->flags & CONTACTF_PRIORITY ? 1 : 0));
 -			pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +			Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  		}
  		return 0;
 diff --git a/plugins/Clist_nicer/src/clistevents.cpp b/plugins/Clist_nicer/src/clistevents.cpp index a6d54a3798..506aa0ad49 100644 --- a/plugins/Clist_nicer/src/clistevents.cpp +++ b/plugins/Clist_nicer/src/clistevents.cpp @@ -293,7 +293,7 @@ CListEvent* AddEvent(CLISTEVENT *cle)  		HANDLE hItem = (HANDLE)SendMessage(pcli->hwndContactTree, CLM_FINDCONTACT, (WPARAM)p->hContact, 0);
  		if (hItem) {
  			SendMessage(pcli->hwndContactTree, CLM_SETSTICKY, (WPARAM)hItem, 1);
 -			pcli->pfnClcBroadcast(INTM_PROTOCHANGED, (WPARAM)p->hContact, 0);
 +			Clist_Broadcast(INTM_PROTOCHANGED, (WPARAM)p->hContact, 0);
  		}
  	}
 @@ -356,7 +356,7 @@ int RemoveEvent(MCONTACT hContact, MEVENT hDbEvent)  	HANDLE hItem = (HANDLE)SendMessage(pcli->hwndContactTree, CLM_FINDCONTACT, hContact, 0);
  	if (hItem) {
  		SendMessage(pcli->hwndContactTree, CLM_SETSTICKY, (WPARAM)hItem, 0);
 -		pcli->pfnClcBroadcast(INTM_PROTOCHANGED, hContact, 0);
 +		Clist_Broadcast(INTM_PROTOCHANGED, hContact, 0);
  	}
  	if (hContact == cfg::dat.hUpdateContact || (INT_PTR)hDbEvent == 1)
 diff --git a/plugins/Clist_nicer/src/clistmenus.cpp b/plugins/Clist_nicer/src/clistmenus.cpp index 89b287527c..cf2ece8265 100644 --- a/plugins/Clist_nicer/src/clistmenus.cpp +++ b/plugins/Clist_nicer/src/clistmenus.cpp @@ -255,7 +255,7 @@ static INT_PTR CALLBACK IgnoreDialogProc(HWND hWnd, UINT msg, WPARAM wParam, LPA  							p->dwDFlags = dwFlags;
  					}
  					db_set_b(hContact, "CList", "Priority", (BYTE)(IsDlgButtonChecked(hWnd, IDC_IGN_PRIORITY) ? 1 : 0));
 -					pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +					Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  				}
  			}
  		case IDCANCEL:
 diff --git a/plugins/Clist_nicer/src/clistopts.cpp b/plugins/Clist_nicer/src/clistopts.cpp index 4d8f4772b3..50e2a8011d 100644 --- a/plugins/Clist_nicer/src/clistopts.cpp +++ b/plugins/Clist_nicer/src/clistopts.cpp @@ -177,7 +177,7 @@ INT_PTR CALLBACK DlgProcGenOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP  				SendMessage(pcli->hwndContactTree, WM_SIZE, 0, 0);
  				SendMessage(pcli->hwndContactList, WM_SIZE, 0, 0);
  				pcli->pfnLoadContactTree(); /* this won't do job properly since it only really works when changes happen */
 -				pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +				Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  				PostMessage(pcli->hwndContactList, CLUIINTM_REDRAW, 0, 0);
  				opt_gen_opts_changed = 0;
 diff --git a/plugins/Clist_nicer/src/clui.cpp b/plugins/Clist_nicer/src/clui.cpp index 178962e422..978601ef01 100644 --- a/plugins/Clist_nicer/src/clui.cpp +++ b/plugins/Clist_nicer/src/clui.cpp @@ -339,7 +339,7 @@ void IcoLibReloadIcons()  	pcli->pfnReloadExtraIcons();  	pcli->pfnSetAllExtraIcons(NULL); -	pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0); +	Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);  	SendMessage(g_hwndViewModeFrame, WM_USER + 100, 0, 0);  } @@ -1796,7 +1796,7 @@ buttons_done:  static int MetaChanged(WPARAM wParam, LPARAM lParam)  { -	pcli->pfnClcBroadcast(INTM_METACHANGEDEVENT, wParam, lParam); +	Clist_Broadcast(INTM_METACHANGEDEVENT, wParam, lParam);  	return 0;  } diff --git a/plugins/Clist_nicer/src/cluiopts.cpp b/plugins/Clist_nicer/src/cluiopts.cpp index 003f0dfd7d..dec092b6a9 100644 --- a/plugins/Clist_nicer/src/cluiopts.cpp +++ b/plugins/Clist_nicer/src/cluiopts.cpp @@ -298,7 +298,7 @@ INT_PTR CALLBACK DlgProcCluiOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l  			opt_clui_changed = 0;
  			pcli->pfnClcOptionsChanged();
 -			pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +			Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  			return TRUE;
  		}
  		break;
 diff --git a/plugins/Clist_nicer/src/extBackg.cpp b/plugins/Clist_nicer/src/extBackg.cpp index ff9f79b847..70e9cfedaf 100644 --- a/plugins/Clist_nicer/src/extBackg.cpp +++ b/plugins/Clist_nicer/src/extBackg.cpp @@ -1569,7 +1569,7 @@ static INT_PTR CALLBACK DlgProcSkinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, L  			if (PathFileExists(tszFinalPath)) {
  				LoadPerContactSkins(tszFinalPath);
  				ReloadSkinItemsToCache();
 -				pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +				Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  			}
  			break;
  		}
 diff --git a/plugins/Clist_nicer/src/viewmodes.cpp b/plugins/Clist_nicer/src/viewmodes.cpp index eb7c557e63..f13f1f6eb7 100644 --- a/plugins/Clist_nicer/src/viewmodes.cpp +++ b/plugins/Clist_nicer/src/viewmodes.cpp @@ -654,7 +654,7 @@ INT_PTR CALLBACK DlgProcViewModesSetup(HWND hwndDlg, UINT msg, WPARAM wParam, LP  						db_unset(NULL, CLVM_MODULE, szBuf);
  						if (!mir_strcmp(cfg::dat.current_viewmode, szBuf) && mir_strlen(szBuf) == mir_strlen(cfg::dat.current_viewmode)) {
  							cfg::dat.bFilterEffective = 0;
 -							pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +							Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  							SetWindowText(hwndSelector, TranslateT("No view mode"));
  						}
  						for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact))
 @@ -969,7 +969,7 @@ LRESULT CALLBACK ViewModeFrameWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM  		case IDC_RESETMODES:
  clvm_reset_command:
  			cfg::dat.bFilterEffective = 0;
 -			pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +			Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  			SetDlgItemText(hwnd, IDC_SELECTMODE, TranslateT("No view mode"));
  			CallService(MS_CLIST_SETHIDEOFFLINE, (WPARAM)cfg::dat.boldHideOffline, 0);
  			cfg::dat.boldHideOffline = (BYTE)-1;
 @@ -1114,7 +1114,7 @@ void ApplyViewMode(const char *name)  	CallService(MS_CLIST_SETHIDEOFFLINE, 0, 0);
  	SetWindowTextA(hwndSelector, name);
 -	pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0);
 +	Clist_Broadcast(CLM_AUTOREBUILD, 0, 0);
  	SetButtonStates();
  	db_set_s(NULL, "CList", "LastViewMode", cfg::dat.current_viewmode);
 diff --git a/plugins/MirLua/Modules/m_json/m_json.vcxproj b/plugins/MirLua/Modules/m_json/m_json.vcxproj index a16b5b743e..538ed63f5c 100644 --- a/plugins/MirLua/Modules/m_json/m_json.vcxproj +++ b/plugins/MirLua/Modules/m_json/m_json.vcxproj @@ -20,7 +20,7 @@    </ItemGroup>
    <PropertyGroup Label="Globals">
      <ProjectName>m_json</ProjectName>
 -    <ProjectGuid>{99712BCA-F86F-4214-967D-1298DF0F4A13}</ProjectGuid>
 +    <ProjectGuid>{8A645067-7F45-4E65-AAFC-AFDA81C29A1D}</ProjectGuid>
    </PropertyGroup>
    <ImportGroup Label="PropertySheets">
      <Import Project="$(ProjectDir)..\module.props" />
 diff --git a/plugins/UserInfoEx/src/ex_import/svc_ExImport.cpp b/plugins/UserInfoEx/src/ex_import/svc_ExImport.cpp index 67e46fc06d..5ece67aa5a 100644 --- a/plugins/UserInfoEx/src/ex_import/svc_ExImport.cpp +++ b/plugins/UserInfoEx/src/ex_import/svc_ExImport.cpp @@ -177,7 +177,7 @@ if (ExImContact->Typ == EXIM_ACCOUNT ||  			CallService(MS_CLIST_SETHIDEOFFLINE, -1, 0);	//workarround to refresh the clist....
  			xmlFile.Import(ExImContact->hContact, szFileName);
  			CallService(MS_CLIST_SETHIDEOFFLINE, -1, 0);	//...after import.
 -			//pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0); //does not work
 +			//Clist_Broadcast(CLM_AUTOREBUILD, 0, 0); //does not work
  			return 0;
  		}
  		// .ini
 diff --git a/src/mir_app/src/clc.cpp b/src/mir_app/src/clc.cpp index 7e02a50895..083352ddf7 100644 --- a/src/mir_app/src/clc.cpp +++ b/src/mir_app/src/clc.cpp @@ -34,7 +34,7 @@ void MTG_OnmodulesLoad(void);  static bool bModuleInitialized = false;
  static HANDLE hShowInfoTipEvent;
  HANDLE hHideInfoTipEvent;
 -MWindowList hClcWindowList;
 +static MWindowList hClcWindowList;
  int g_IconWidth, g_IconHeight;
 @@ -48,14 +48,19 @@ void fnInitAutoRebuild(HWND hWnd)  	}
  }
 -void fnClcBroadcast(int msg, WPARAM wParam, LPARAM lParam)
 +MIR_APP_DLL(void) Clist_Broadcast(int msg, WPARAM wParam, LPARAM lParam)
  {
  	WindowList_Broadcast(hClcWindowList, msg, wParam, lParam);
  }
 +MIR_APP_DLL(void) Clist_BroadcastAsync(int msg, WPARAM wParam, LPARAM lParam)
 +{
 +	WindowList_BroadcastAsync(hClcWindowList, msg, wParam, lParam);
 +}
 +
  void fnClcOptionsChanged(void)
  {
 -	cli.pfnClcBroadcast(INTM_RELOADOPTIONS, 0, 0);
 +	Clist_Broadcast(INTM_RELOADOPTIONS, 0, 0);
  }
  /////////////////////////////////////////////////////////////////////////////////////////
 @@ -66,49 +71,49 @@ static int ClcSettingChanged(WPARAM hContact, LPARAM lParam)  	DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING *)lParam;
  	if (hContact == NULL) {
  		if (!strcmp(cws->szModule, "CListGroups"))
 -			cli.pfnClcBroadcast(INTM_GROUPSCHANGED, hContact, lParam);
 +			Clist_Broadcast(INTM_GROUPSCHANGED, hContact, lParam);
  		return 0;
  	}
  	if (!strcmp(cws->szModule, "CList")) {
  		if (!strcmp(cws->szSetting, "MyHandle")) {
  			cli.pfnInvalidateDisplayNameCacheEntry(hContact);
 -			cli.pfnClcBroadcast(INTM_NAMECHANGED, hContact, lParam);
 +			Clist_Broadcast(INTM_NAMECHANGED, hContact, lParam);
  		}
  		else if (!strcmp(cws->szSetting, "Group"))
 -			cli.pfnClcBroadcast(INTM_GROUPCHANGED, hContact, lParam);
 +			Clist_Broadcast(INTM_GROUPCHANGED, hContact, lParam);
  		else if (!strcmp(cws->szSetting, "Hidden"))
 -			cli.pfnClcBroadcast(INTM_HIDDENCHANGED, hContact, lParam);
 +			Clist_Broadcast(INTM_HIDDENCHANGED, hContact, lParam);
  		else if (!strcmp(cws->szSetting, "NotOnList"))
 -			cli.pfnClcBroadcast(INTM_NOTONLISTCHANGED, hContact, lParam);
 +			Clist_Broadcast(INTM_NOTONLISTCHANGED, hContact, lParam);
  		else if (!strcmp(cws->szSetting, "Status"))
 -			cli.pfnClcBroadcast(INTM_INVALIDATE, 0, 0);
 +			Clist_Broadcast(INTM_INVALIDATE, 0, 0);
  		else if (!strcmp(cws->szSetting, "NameOrder"))
 -			cli.pfnClcBroadcast(INTM_NAMEORDERCHANGED, 0, 0);
 +			Clist_Broadcast(INTM_NAMEORDERCHANGED, 0, 0);
  	}
  	else {
  		char *szProto = GetContactProto(hContact);
  		if (szProto != NULL) {
  			if (!strcmp(cws->szModule, "Protocol") && !strcmp(cws->szSetting, "p"))
 -				cli.pfnClcBroadcast(INTM_PROTOCHANGED, hContact, lParam);
 +				Clist_Broadcast(INTM_PROTOCHANGED, hContact, lParam);
  			// something is being written to a protocol module
  			if (!strcmp(szProto, cws->szModule)) {
  				// was a unique setting key written?
  				char *id = (char *)CallProtoServiceInt(NULL, szProto, PS_GETCAPS, PFLAG_UNIQUEIDSETTING, 0);
  				if ((INT_PTR)id != CALLSERVICE_NOTFOUND && id != NULL && !strcmp(id, cws->szSetting))
 -					cli.pfnClcBroadcast(INTM_PROTOCHANGED, hContact, lParam);
 +					Clist_Broadcast(INTM_PROTOCHANGED, hContact, lParam);
  			}
  		}
  		if (szProto == NULL || strcmp(szProto, cws->szModule))
  			return 0;
  		if (!strcmp(cws->szSetting, "Nick") || !strcmp(cws->szSetting, "FirstName") || !strcmp(cws->szSetting, "e-mail")
  			|| !strcmp(cws->szSetting, "LastName") || !strcmp(cws->szSetting, "UIN"))
 -			cli.pfnClcBroadcast(INTM_NAMECHANGED, hContact, lParam);
 +			Clist_Broadcast(INTM_NAMECHANGED, hContact, lParam);
  		else if (!strcmp(cws->szSetting, "ApparentMode"))
 -			cli.pfnClcBroadcast(INTM_APPARENTMODECHANGED, hContact, lParam);
 +			Clist_Broadcast(INTM_APPARENTMODECHANGED, hContact, lParam);
  		else if (!strcmp(cws->szSetting, "IdleTS"))
 -			cli.pfnClcBroadcast(INTM_IDLECHANGED, hContact, lParam);
 +			Clist_Broadcast(INTM_IDLECHANGED, hContact, lParam);
  	}
  	return 0;
  }
 @@ -178,7 +183,7 @@ static int ClcIconsChanged(WPARAM, LPARAM)  static INT_PTR SetInfoTipHoverTime(WPARAM wParam, LPARAM)
  {
  	db_set_w(NULL, "CLC", "InfoTipHoverTime", (WORD)wParam);
 -	cli.pfnClcBroadcast(INTM_SETINFOTIPHOVERTIME, wParam, 0);
 +	Clist_Broadcast(INTM_SETINFOTIPHOVERTIME, wParam, 0);
  	return 0;
  }
 diff --git a/src/mir_app/src/clc.h b/src/mir_app/src/clc.h index 901468a042..4695cd9b58 100644 --- a/src/mir_app/src/clc.h +++ b/src/mir_app/src/clc.h @@ -36,7 +36,6 @@ struct ClcCacheEntry : public ClcCacheEntryBase  /* clc.c */
  extern int g_IconWidth, g_IconHeight;
 -extern MWindowList hClcWindowList;
  extern HIMAGELIST hCListImages;
  void fnClcOptionsChanged(void);
 diff --git a/src/mir_app/src/clistcore.cpp b/src/mir_app/src/clistcore.cpp index d34baadf52..9d9607e7c8 100644 --- a/src/mir_app/src/clistcore.cpp +++ b/src/mir_app/src/clistcore.cpp @@ -77,7 +77,6 @@ static INT_PTR srvRetrieveInterface(WPARAM, LPARAM)  		cli.bDisplayLocked = TRUE;
  		cli.pfnClcOptionsChanged               = fnClcOptionsChanged;
 -		cli.pfnClcBroadcast                    = fnClcBroadcast;
  		cli.pfnContactListControlWndProc       = fnContactListControlWndProc;
  		cli.pfnRegisterFileDropping            = fnRegisterFileDropping;
 diff --git a/src/mir_app/src/clistmod.cpp b/src/mir_app/src/clistmod.cpp index 60b6023cb3..1e39d397c6 100644 --- a/src/mir_app/src/clistmod.cpp +++ b/src/mir_app/src/clistmod.cpp @@ -216,8 +216,8 @@ static int ContactListAccountsChanged(WPARAM eventCode, LPARAM lParam)  	}
  	cli.pfnReloadProtoMenus();
  	cli.pfnTrayIconIconsChanged();
 -	cli.pfnClcBroadcast(INTM_RELOADOPTIONS, 0, 0);
 -	cli.pfnClcBroadcast(INTM_INVALIDATE, 0, 0);
 +	Clist_Broadcast(INTM_RELOADOPTIONS, 0, 0);
 +	Clist_Broadcast(INTM_INVALIDATE, 0, 0);
  	return 0;
  }
 @@ -389,12 +389,12 @@ int fnShowHide(WPARAM, LPARAM)  	return 0;
  }
 -void fnChangeContactIcon(MCONTACT hContact, int iIcon) -{ -	WindowList_BroadcastAsync(hClcWindowList, INTM_ICONCHANGED, hContact, iIcon);
 - -	NotifyEventHooks(hContactIconChangedEvent, hContact, iIcon); -} +void fnChangeContactIcon(MCONTACT hContact, int iIcon)
 +{
 +	Clist_BroadcastAsync(INTM_ICONCHANGED, hContact, iIcon);
 +
 +	NotifyEventHooks(hContactIconChangedEvent, hContact, iIcon);
 +}
  /////////////////////////////////////////////////////////////////////////////////////////
 diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index f3d069a66c..6f5048578f 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -264,3 +264,5 @@ Clist_ContactToHItem @262  Clist_ContactToItemHandle @263
  Window_SetSkinIcon_IcoLib @264
  Window_SetIcon_IcoLib @265
 +Clist_Broadcast @266
 +Clist_BroadcastAsync @267
 diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index 6b2c27b7b6..6f48beb92d 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -264,3 +264,5 @@ Clist_ContactToHItem @262  Clist_ContactToItemHandle @263
  Window_SetSkinIcon_IcoLib @264
  Window_SetIcon_IcoLib @265
 +Clist_Broadcast @266
 +Clist_BroadcastAsync @267
 diff --git a/src/mir_app/src/proto_order.cpp b/src/mir_app/src/proto_order.cpp index 6587352737..292ac235fb 100644 --- a/src/mir_app/src/proto_order.cpp +++ b/src/mir_app/src/proto_order.cpp @@ -191,8 +191,8 @@ public:  		WriteDbAccounts();
  		cli.pfnReloadProtoMenus();
  		cli.pfnTrayIconIconsChanged();
 -		cli.pfnClcBroadcast(INTM_RELOADOPTIONS, 0, 0);
 -		cli.pfnClcBroadcast(INTM_INVALIDATE, 0, 0);
 +		Clist_Broadcast(INTM_RELOADOPTIONS, 0, 0);
 +		Clist_Broadcast(INTM_INVALIDATE, 0, 0);
  	}
  	virtual void OnDestroy()
  | 
