diff -r b2f272e0c51e -r 7434ef155a3a pidgin/win32/gtkwin32dep.c --- a/pidgin/win32/gtkwin32dep.c Sun Feb 11 00:30:48 2007 +0000 +++ b/pidgin/win32/gtkwin32dep.c Sun Feb 11 00:46:43 2007 +0000 @@ -49,6 +49,7 @@ #include "gtkwin32dep.h" #include "win32dep.h" #include "gtkconv.h" +#include "util.h" #include "wspell.h" /* @@ -192,14 +193,20 @@ winpidgin_shell_execute(uri, "open", "http"); } -#define WM_FOCUS_REQUEST (WM_APP + 13) +#define PIDGIN_WM_FOCUS_REQUEST (WM_APP + 13) +#define PIDGIN_WM_PROTOCOL_HANDLE (WM_APP + 14) static LRESULT CALLBACK message_window_handler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { - if (msg == WM_FOCUS_REQUEST) { + if (msg == PIDGIN_WM_FOCUS_REQUEST) { gaim_debug_info("winpidgin", "Got external Buddy List focus request."); gaim_blist_set_visible(TRUE); return TRUE; + } else if (msg == PIDGIN_WM_PROTOCOL_HANDLE) { + char *proto_msg = (char *) lparam; + gaim_debug_info("winpidgin", "Got protocol handler request: %s\n", proto_msg ? proto_msg : ""); + gaim_got_protocol_handler_uri(proto_msg); + return TRUE; } return DefWindowProc(hwnd, msg, wparam, lparam);