--- a/pidgin/win32/winpidgin.c Thu Nov 21 23:39:13 2024 -0600 +++ b/pidgin/win32/winpidgin.c Fri Nov 22 00:21:51 2024 -0600 @@ -72,38 +72,8 @@ return err_msg; } -#define PIDGIN_WM_FOCUS_REQUEST (WM_APP + 13) #define PIDGIN_WM_PROTOCOL_HANDLE (WM_APP + 14) -static BOOL winpidgin_set_running(BOOL fail_if_running) { - HANDLE h; - - if ((h = CreateMutexW(NULL, FALSE, L"pidgin_is_running"))) { - DWORD err = GetLastError(); - if (err == ERROR_ALREADY_EXISTS) { - if (fail_if_running) { - HWND msg_win; - - wprintf(L"An instance of Pidgin is already running.\n"); - - if((msg_win = FindWindowExW(NULL, NULL, L"WinpidginMsgWinCls", NULL))) - if(SendMessage(msg_win, PIDGIN_WM_FOCUS_REQUEST, (WPARAM) NULL, (LPARAM) NULL)) - return FALSE; - - /* If we get here, the focus request wasn't successful */ - - MessageBoxW(NULL, - L"An instance of Pidgin is already running", - NULL, MB_OK | MB_TOPMOST); - - return FALSE; - } - } else if (err != ERROR_SUCCESS) - wprintf(L"Error (%u) accessing \"pidgin_is_running\" mutex.\n", (UINT) err); - } - return TRUE; -} - #define PROTO_HANDLER_SWITCH L"--protocolhandler=" static void handle_protocol(wchar_t *cmd) { @@ -373,11 +343,6 @@ pidgin_dir[0] = L'\0'; } - /* If help, version or multiple flag used, do not check Mutex */ - if (!help && !version) - if (!winpidgin_set_running(getenv("PIDGIN_MULTI_INST") == NULL && !multiple)) - return 0; - /* Now we are ready for Pidgin .. */ if ((hmod = LoadLibraryW(LIBPIDGIN_DLL_NAMEW))) pidgin_main = (void *)GetProcAddress(hmod, "pidgin_main");