| 71 #define PIDGIN_WM_PROTOCOL_HANDLE (WM_APP + 14) |
71 #define PIDGIN_WM_PROTOCOL_HANDLE (WM_APP + 14) |
| 72 |
72 |
| 73 static LRESULT CALLBACK message_window_handler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { |
73 static LRESULT CALLBACK message_window_handler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { |
| 74 |
74 |
| 75 if (msg == PIDGIN_WM_FOCUS_REQUEST) { |
75 if (msg == PIDGIN_WM_FOCUS_REQUEST) { |
| 76 PidginBuddyList *blist; |
76 GtkWidget *widget = NULL; |
| 77 purple_debug_info("winpidgin", "Got external Buddy List focus request."); |
77 |
| 78 blist = pidgin_blist_get_default_gtk_blist(); |
78 purple_debug_info("winpidgin", "Got external focus request."); |
| 79 if (blist != NULL && blist->window != NULL) { |
79 |
| 80 gtk_window_present(GTK_WINDOW(blist->window)); |
80 widget = pidgin_display_window_get_default(); |
| 81 } |
81 gtk_window_present(GTK_WINDOW(widget)); |
| |
82 |
| 82 return TRUE; |
83 return TRUE; |
| 83 } else if (msg == PIDGIN_WM_PROTOCOL_HANDLE) { |
84 } else if (msg == PIDGIN_WM_PROTOCOL_HANDLE) { |
| 84 char *proto_msg = (char *) lparam; |
85 char *proto_msg = (char *) lparam; |
| 85 purple_debug_info("winpidgin", "Got protocol handler request: %s\n", proto_msg ? proto_msg : ""); |
86 purple_debug_info("winpidgin", "Got protocol handler request: %s\n", proto_msg ? proto_msg : ""); |
| 86 purple_got_protocol_handler_uri(proto_msg); |
87 purple_got_protocol_handler_uri(proto_msg); |