Mercurial > pidgin
annotate plugins/gtk-signals-test.c @ 14102:14e14f1ef1d8
[gaim-migrate @ 16732]
Jabber crashed when getting info from someone on your buddy list
if the JID consists only of the domain identifer. For example,
add "quser.alpha.qunu.com" to your buddy list then get their info.
This fixes the crashing. I'm not really sure if the fix is correct.
Can someone familiar with Jabber please look over this?
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 13 Aug 2006 05:50:19 +0000 |
parents | f09c6e8df82c |
children |
rev | line source |
---|---|
9609 | 1 /* |
2 * Signals test plugin. | |
3 * | |
4 * Copyright (C) 2003 Christian Hammond. | |
5 * | |
6 * This program is free software; you can redistribute it and/or | |
7 * modify it under the terms of the GNU General Public License as | |
8 * published by the Free Software Foundation; either version 2 of the | |
9 * License, or (at your option) any later version. | |
10 * | |
11 * This program is distributed in the hope that it will be useful, but | |
12 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 * General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with this program; if not, write to the Free Software | |
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
19 * 02111-1307, USA. | |
20 */ | |
21 #define GTK_SIGNAL_TEST_PLUGIN_ID "gtk-signals-test" | |
22 | |
23 #include <gtk/gtk.h> | |
24 | |
25 #include "internal.h" | |
26 #include "debug.h" | |
9954 | 27 #include "version.h" |
9609 | 28 |
29 #include "gtkaccount.h" | |
30 #include "gtkblist.h" | |
31 #include "gtkconv.h" | |
32 #include "gtkplugin.h" | |
33 | |
34 /************************************************************************** | |
35 * Account subsystem signal callbacks | |
36 **************************************************************************/ | |
37 static void | |
38 account_modified_cb(GaimAccount *account, void *data) { | |
39 gaim_debug_info("gtk-signal-test", "account modified cb\n"); | |
40 } | |
41 | |
42 /************************************************************************** | |
43 * Buddy List subsystem signal callbacks | |
44 **************************************************************************/ | |
45 static void | |
46 blist_created_cb(GaimBuddyList *blist, void *data) { | |
47 gaim_debug_info("gtk-signal-test", "buddy list created\n"); | |
48 } | |
49 | |
50 static void | |
12898
e3b4e6787dff
[gaim-migrate @ 15251]
Richard Laager <rlaager@wiktel.com>
parents:
12639
diff
changeset
|
51 blist_drawing_tooltip_cb(GaimBlistNode *node, GString *str, gboolean full, void *data) { |
9609 | 52 gaim_debug_info("gtk-signal-test", "drawing tooltip cb\n"); |
53 } | |
54 | |
55 /************************************************************************** | |
56 * Conversation subsystem signal callbacks | |
57 **************************************************************************/ | |
58 static void | |
11848
434181b96f44
[gaim-migrate @ 14139]
Gary Kramlich <grim@reaperworld.com>
parents:
11447
diff
changeset
|
59 conversation_dragging_cb(GaimGtkWindow *source, GaimGtkWindow *destination) { |
11447
ef6e94bdda08
[gaim-migrate @ 13686]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11256
diff
changeset
|
60 gaim_debug_info("gtk-signal-test", "conversation dragging cb\n"); |
9609 | 61 } |
62 | |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
63 static gboolean |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
64 displaying_im_msg_cb(GaimAccount *account, const char *who, char **buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
65 GaimConversation *conv, GaimMessageFlags flags, void *data) |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
66 { |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
67 gaim_debug_misc("gtk-signals test", "displaying-im-msg (%s, %s)\n", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
68 gaim_conversation_get_name(conv), *buffer); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
69 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
70 return FALSE; |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
71 } |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
72 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
73 static void |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
74 displayed_im_msg_cb(GaimAccount *account, const char *who, const char *buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
75 GaimConversation *conv, GaimMessageFlags flags, void *data) |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
76 { |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
77 gaim_debug_misc("gtk-signals test", "displayed-im-msg (%s, %s)\n", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
78 gaim_conversation_get_name(conv), buffer); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
79 } |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
80 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
81 static gboolean |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
82 displaying_chat_msg_cb(GaimAccount *account, const char *who, char **buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
83 GaimConversation *conv, GaimMessageFlags flags, void *data) |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
84 { |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
85 gaim_debug_misc("gtk-signals test", "displaying-chat-msg (%s, %s)\n", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
86 gaim_conversation_get_name(conv), *buffer); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
87 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
88 return FALSE; |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
89 } |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
90 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
91 static void |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
92 displayed_chat_msg_cb(GaimAccount *account, const char *who, const char *buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
93 GaimConversation *conv, GaimMessageFlags flags, void *data) |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
94 { |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
95 gaim_debug_misc("gtk-signals test", "displayed-chat-msg (%s, %s)\n", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
96 gaim_conversation_get_name(conv), buffer); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
97 } |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
98 |
12639
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
99 static void |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
100 conversation_switched_cb(GaimConversation *conv, void *data) |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
101 { |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
102 gaim_debug_misc("gtk-signals test", "conversation-switched (%s)\n", |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
103 gaim_conversation_get_name(conv)); |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
104 } |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
105 |
9609 | 106 /************************************************************************** |
107 * Plugin stuff | |
108 **************************************************************************/ | |
109 static gboolean | |
110 plugin_load(GaimPlugin *plugin) | |
111 { | |
112 void *accounts_handle = gaim_gtk_account_get_handle(); | |
113 void *blist_handle = gaim_gtk_blist_get_handle(); | |
114 void *conv_handle = gaim_gtk_conversations_get_handle(); | |
115 | |
116 /* Accounts subsystem signals */ | |
117 gaim_signal_connect(accounts_handle, "account-modified", | |
118 plugin, GAIM_CALLBACK(account_modified_cb), NULL); | |
119 | |
120 /* Buddy List subsystem signals */ | |
121 gaim_signal_connect(blist_handle, "gtkblist-created", | |
122 plugin, GAIM_CALLBACK(blist_created_cb), NULL); | |
123 gaim_signal_connect(blist_handle, "drawing-tooltip", | |
124 plugin, GAIM_CALLBACK(blist_drawing_tooltip_cb), NULL); | |
125 | |
126 /* Conversations subsystem signals */ | |
11447
ef6e94bdda08
[gaim-migrate @ 13686]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11256
diff
changeset
|
127 gaim_signal_connect(conv_handle, "conversation-dragging", |
ef6e94bdda08
[gaim-migrate @ 13686]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11256
diff
changeset
|
128 plugin, GAIM_CALLBACK(conversation_dragging_cb), NULL); |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
129 gaim_signal_connect(conv_handle, "displaying-im-msg", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
130 plugin, GAIM_CALLBACK(displaying_im_msg_cb), NULL); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
131 gaim_signal_connect(conv_handle, "displayed-im-msg", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
132 plugin, GAIM_CALLBACK(displayed_im_msg_cb), NULL); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
133 gaim_signal_connect(conv_handle, "displaying-chat-msg", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
134 plugin, GAIM_CALLBACK(displaying_chat_msg_cb), NULL); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
135 gaim_signal_connect(conv_handle, "displayed-chat-msg", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
136 plugin, GAIM_CALLBACK(displayed_chat_msg_cb), NULL); |
12639
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
137 gaim_signal_connect(conv_handle, "conversation-switched", |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
138 plugin, GAIM_CALLBACK(conversation_switched_cb), NULL); |
9609 | 139 |
140 return TRUE; | |
141 } | |
142 | |
11033
50224ac8184d
[gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents:
9954
diff
changeset
|
143 static gboolean |
11256
bb0d7b719af2
[gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents:
11033
diff
changeset
|
144 plugin_unload(GaimPlugin *plugin) { |
bb0d7b719af2
[gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents:
11033
diff
changeset
|
145 return TRUE; |
11033
50224ac8184d
[gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents:
9954
diff
changeset
|
146 } |
50224ac8184d
[gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents:
9954
diff
changeset
|
147 |
9609 | 148 static GaimPluginInfo info = |
149 { | |
9954 | 150 GAIM_PLUGIN_MAGIC, |
151 GAIM_MAJOR_VERSION, | |
152 GAIM_MINOR_VERSION, | |
9609 | 153 GAIM_PLUGIN_STANDARD, /**< type */ |
154 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ | |
155 0, /**< flags */ | |
156 NULL, /**< dependencies */ | |
157 GAIM_PRIORITY_DEFAULT, /**< priority */ | |
158 | |
159 GTK_SIGNAL_TEST_PLUGIN_ID, /**< id */ | |
160 N_("GTK Signals Test"), /**< name */ | |
161 VERSION, /**< version */ | |
162 /** summary */ | |
163 N_("Test to see that all ui signals are working properly."), | |
164 /** description */ | |
165 N_("Test to see that all ui signals are working properly."), | |
166 "Gary Kramlich <amc_grim@users.sf.net>", /**< author */ | |
167 GAIM_WEBSITE, /**< homepage */ | |
168 | |
169 plugin_load, /**< load */ | |
11033
50224ac8184d
[gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents:
9954
diff
changeset
|
170 plugin_unload, /**< unload */ |
9609 | 171 NULL, /**< destroy */ |
172 | |
173 NULL, /**< ui_info */ | |
174 NULL, /**< extra_info */ | |
175 NULL, | |
176 NULL | |
177 }; | |
178 | |
179 static void | |
180 init_plugin(GaimPlugin *plugin) | |
181 { | |
182 } | |
183 | |
184 GAIM_INIT_PLUGIN(gtksignalstest, init_plugin, info) |