Mercurial > pidgin
annotate plugins/ticker/ticker.c @ 5943:a4f2aba0848d
[gaim-migrate @ 6384]
This should fix corruption in the blist, accounts, and pounces when some
protocol plugins cannot load. Some parts of gaim now use the new unique
Plugin or Protocol Plugin IDs, while some still use the old protocol
numbers. Accounts kind of used both, and when prpls were missing, it had
trouble finding accounts. It would find the names, even without mapping the
protocol numbers to IDs, and any duplicate accounts would get nuked. That
would then affect pounce saving. Anyhow, long story short (well, it's
already long, too late for that), this should fix all that mess. And
introduce new mess, but hopefully temporary mess.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Mon, 23 Jun 2003 02:00:15 +0000 |
| parents | 7d385de2f9cd |
| children | e0be64ced3d7 |
| rev | line source |
|---|---|
| 3391 | 1 /* GTK - The GIMP Toolkit |
| 2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald | |
| 3 * | |
| 4 * This library is free software; you can redistribute it and/or | |
| 5 * modify it under the terms of the GNU Library General Public | |
| 6 * License as published by the Free Software Foundation; either | |
| 7 * version 2 of the License, or (at your option) any later version. | |
| 8 * | |
| 9 * This library is distributed in the hope that it will be useful, | |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 12 * Library General Public License for more details. | |
| 13 * | |
| 14 * You should have received a copy of the GNU Library General Public | |
| 15 * License along with this library; if not, write to the | |
| 16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| 17 * Boston, MA 02111-1307, USA. | |
| 18 */ | |
| 19 | |
| 20 /* | |
| 21 * ticker.c -- Syd Logan, Summer 2000 | |
| 22 * pluginized- Sean Egan, Summer 2002 | |
| 23 */ | |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
24 #include "internal.h" |
| 3391 | 25 |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
26 #include "blist.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
27 #include "conversation.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
28 #include "debug.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
29 #include "prpl.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
30 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
31 #include "gtkblist.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
32 #include "gtkplugin.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
33 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
34 #include "gtkticker.h" |
| 3391 | 35 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
36 #define TICKER_PLUGIN_ID "gtk-ticker" |
| 3867 | 37 |
| 3391 | 38 static GtkWidget *tickerwindow = NULL; |
| 39 static GtkWidget *ticker; | |
| 40 | |
| 41 typedef struct { | |
| 5170 | 42 struct buddy *buddy; |
| 3391 | 43 GtkWidget *ebox; |
| 44 GtkWidget *label; | |
| 5170 | 45 GtkWidget *icon; |
| 3391 | 46 } TickerData; |
| 47 | |
| 5170 | 48 GList *tickerbuds = NULL; |
| 3391 | 49 |
| 5172 | 50 static gboolean buddy_ticker_destroy_window(GtkWidget *window, |
| 51 GdkEventAny *event, gpointer data) { | |
| 52 if(window) | |
| 53 gtk_widget_hide(window); | |
| 54 | |
| 55 return TRUE; /* don't actually destroy the window */ | |
| 3391 | 56 } |
| 57 | |
| 5170 | 58 static void buddy_ticker_create_window() { |
| 59 if(tickerwindow) { | |
| 60 gtk_widget_show(tickerwindow); | |
| 61 return; | |
| 62 } | |
| 3391 | 63 |
| 5170 | 64 tickerwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 5286 | 65 gtk_window_set_default_size(GTK_WINDOW(tickerwindow), 500, -1); |
| 5172 | 66 g_signal_connect(G_OBJECT(tickerwindow), "delete_event", |
| 5170 | 67 G_CALLBACK (buddy_ticker_destroy_window), NULL); |
| 68 gtk_window_set_title (GTK_WINDOW(tickerwindow), _("Buddy Ticker")); | |
| 4850 | 69 gtk_window_set_role (GTK_WINDOW(tickerwindow), "ticker"); |
| 3391 | 70 |
| 4850 | 71 ticker = gtk_ticker_new(); |
| 5170 | 72 gtk_ticker_set_spacing(GTK_TICKER(ticker), 20); |
| 73 gtk_container_add(GTK_CONTAINER(tickerwindow), ticker); | |
| 74 gtk_ticker_set_interval(GTK_TICKER(ticker), 500); | |
| 75 gtk_ticker_set_scootch(GTK_TICKER(ticker), 10); | |
| 76 gtk_ticker_start_scroll(GTK_TICKER(ticker)); | |
| 5286 | 77 gtk_widget_set_size_request(ticker, 1, -1); |
| 3391 | 78 |
| 5170 | 79 gtk_widget_show_all(tickerwindow); |
| 3391 | 80 } |
| 81 | |
| 5170 | 82 static gboolean buddy_click_cb(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { |
| 83 struct buddy *b = user_data; | |
| 4850 | 84 |
| 5170 | 85 gaim_conversation_new(GAIM_CONV_IM, b->account, b->name); |
| 3391 | 86 return TRUE; |
| 87 } | |
| 88 | |
| 5170 | 89 static TickerData *buddy_ticker_find_buddy(struct buddy *b) { |
| 90 GList *tb; | |
| 91 for(tb = tickerbuds; tb; tb = tb->next) { | |
| 92 TickerData *td = tb->data; | |
| 93 if(td->buddy == b) | |
| 94 return td; | |
| 95 } | |
| 96 return NULL; | |
| 97 } | |
| 98 | |
| 99 static void buddy_ticker_set_pixmap(struct buddy *b) { | |
| 100 TickerData *td = buddy_ticker_find_buddy(b); | |
| 101 GdkPixbuf *pixbuf; | |
| 3391 | 102 |
| 5170 | 103 if(!td) |
| 3391 | 104 return; |
| 5170 | 105 |
| 106 if(!td->icon) | |
| 107 td->icon = gtk_image_new(); | |
| 3391 | 108 |
| 5234 | 109 pixbuf = gaim_gtk_blist_get_status_icon((GaimBlistNode*)b, |
| 110 GAIM_STATUS_ICON_SMALL); | |
| 5170 | 111 gtk_image_set_from_pixbuf(GTK_IMAGE(td->icon), pixbuf); |
| 112 g_object_unref(G_OBJECT(pixbuf)); | |
| 113 } | |
| 114 | |
| 115 static void buddy_ticker_add_buddy(struct buddy *b) { | |
| 116 GtkWidget *hbox; | |
| 117 TickerData *td; | |
| 118 | |
| 119 buddy_ticker_create_window(); | |
| 5172 | 120 |
| 3391 | 121 if (!ticker) |
| 122 return; | |
| 123 | |
| 5170 | 124 if(buddy_ticker_find_buddy(b)) |
| 3391 | 125 return; |
| 126 | |
| 5170 | 127 td = g_new0(TickerData, 1); |
| 128 td->buddy = b; | |
| 129 tickerbuds = g_list_append(tickerbuds, td); | |
| 3391 | 130 |
| 5170 | 131 td->ebox = gtk_event_box_new(); |
| 132 gtk_ticker_add(GTK_TICKER(ticker), td->ebox); | |
| 133 hbox = gtk_hbox_new(FALSE, 0); | |
| 134 gtk_container_add(GTK_CONTAINER(td->ebox), hbox); | |
| 135 buddy_ticker_set_pixmap(b); | |
| 136 gtk_box_pack_start(GTK_BOX(hbox), td->icon, FALSE, FALSE, 5); | |
| 3391 | 137 |
| 5170 | 138 g_signal_connect(G_OBJECT(td->ebox), "button-press-event", |
| 139 G_CALLBACK(buddy_click_cb), b); | |
| 3391 | 140 |
| 5170 | 141 td->label = gtk_label_new(gaim_get_buddy_alias(b)); |
| 142 gtk_box_pack_start(GTK_BOX(hbox), td->label, FALSE, FALSE, 5); | |
| 143 | |
| 144 gtk_widget_show_all(td->ebox); | |
| 145 gtk_widget_show(tickerwindow); | |
| 3391 | 146 } |
| 147 | |
| 5170 | 148 static void buddy_ticker_remove_buddy(struct buddy *b) { |
| 149 TickerData *td = buddy_ticker_find_buddy(b); | |
| 3391 | 150 |
| 5170 | 151 if (!td) |
| 152 return; | |
| 3391 | 153 |
| 5172 | 154 /* pop up the ticker window again */ |
| 155 buddy_ticker_create_window(); | |
| 156 | |
| 5170 | 157 gtk_ticker_remove(GTK_TICKER(ticker), td->ebox); |
| 158 tickerbuds = g_list_remove(tickerbuds, td); | |
| 159 g_free(td); | |
| 3391 | 160 } |
| 161 | |
| 5170 | 162 static void buddy_ticker_show() |
| 3391 | 163 { |
| 5170 | 164 struct gaim_buddy_list *list = gaim_get_blist(); |
| 165 GaimBlistNode *gnode, *bnode; | |
| 166 struct buddy *b; | |
| 3391 | 167 |
| 5170 | 168 if(!list) |
| 169 return; | |
| 3391 | 170 |
| 5170 | 171 for(gnode = list->root; gnode; gnode = gnode->next) { |
| 172 if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) | |
| 173 continue; | |
| 174 for(bnode = gnode->child; bnode; bnode = bnode->next) { | |
| 175 if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) | |
| 176 continue; | |
| 177 b = (struct buddy *)bnode; | |
| 178 if(GAIM_BUDDY_IS_ONLINE(b)) | |
| 179 buddy_ticker_add_buddy(b); | |
| 3391 | 180 } |
| 181 } | |
| 182 } | |
| 183 | |
|
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5286
diff
changeset
|
184 void signon_cb(GaimConnection *gc, char *who) { |
| 4850 | 185 struct buddy *b = gaim_find_buddy(gc->account, who); |
| 5170 | 186 if(buddy_ticker_find_buddy(b)) |
| 187 buddy_ticker_set_pixmap(b); | |
| 188 else | |
| 189 buddy_ticker_add_buddy(b); | |
| 3391 | 190 } |
| 191 | |
|
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5286
diff
changeset
|
192 void signoff_cb(GaimConnection *gc) { |
| 5607 | 193 if (!gaim_connections_get_all()) { |
| 5185 | 194 while(tickerbuds) { |
| 195 g_free(tickerbuds->data); | |
| 196 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); | |
| 197 } | |
| 3391 | 198 gtk_widget_destroy(tickerwindow); |
| 199 tickerwindow = NULL; | |
| 200 ticker = NULL; | |
| 5185 | 201 } else { |
| 202 GList *t = tickerbuds; | |
| 203 while(t) { | |
| 204 TickerData *td = t->data; | |
| 205 t = t->next; | |
| 206 if(td->buddy->account == gc->account) { | |
| 207 g_free(td); | |
| 208 tickerbuds = g_list_remove(tickerbuds, td); | |
| 209 } | |
| 210 } | |
| 3391 | 211 } |
| 212 } | |
| 213 | |
|
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5286
diff
changeset
|
214 void buddy_signoff_cb(GaimConnection *gc, char *who) { |
| 5170 | 215 struct buddy *b = gaim_find_buddy(gc->account, who); |
| 216 | |
| 217 buddy_ticker_remove_buddy(b); | |
| 5185 | 218 if(!tickerbuds) |
| 219 gtk_widget_hide(tickerwindow); | |
| 3391 | 220 } |
| 221 | |
|
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5286
diff
changeset
|
222 void away_cb(GaimConnection *gc, char *who) { |
| 4850 | 223 struct buddy *b = gaim_find_buddy(gc->account, who); |
| 5170 | 224 if(buddy_ticker_find_buddy(b)) |
| 225 buddy_ticker_set_pixmap(b); | |
| 226 else | |
| 227 buddy_ticker_add_buddy(b); | |
| 3391 | 228 } |
| 229 | |
| 3630 | 230 /* |
| 231 * EXPORTED FUNCTIONS | |
| 232 */ | |
| 233 | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
234 static gboolean |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
235 plugin_load(GaimPlugin *plugin) |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
236 { |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
237 gaim_signal_connect(plugin, event_buddy_signon, signon_cb, NULL); |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
238 gaim_signal_connect(plugin, event_signoff, signoff_cb, NULL); |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
239 gaim_signal_connect(plugin, event_buddy_signoff, buddy_signoff_cb, NULL); |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
240 gaim_signal_connect(plugin, event_buddy_away, away_cb, NULL); |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
241 gaim_signal_connect(plugin, event_buddy_back, away_cb, NULL); |
| 3391 | 242 |
| 5607 | 243 if (gaim_connections_get_all()) |
| 5170 | 244 buddy_ticker_show(); |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
245 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
246 return TRUE; |
| 3391 | 247 } |
| 248 | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
249 static gboolean |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
250 plugin_unload(GaimPlugin *plugin) |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
251 { |
| 5185 | 252 while(tickerbuds) { |
| 253 g_free(tickerbuds->data); | |
| 5186 | 254 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); |
| 5185 | 255 } |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
256 |
| 5181 | 257 gtk_widget_destroy(tickerwindow); |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
258 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
259 return TRUE; |
| 3391 | 260 } |
| 5170 | 261 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
262 static GaimGtkPluginUiInfo ui_info = |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
263 { |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
264 NULL /**< get_config_frame */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
265 }; |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
266 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
267 static GaimPluginInfo info = |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
268 { |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
269 2, /**< api_version */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
270 GAIM_PLUGIN_STANDARD, /**< type */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
271 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
272 0, /**< flags */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
273 NULL, /**< dependencies */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
274 GAIM_PRIORITY_DEFAULT, /**< priority */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
275 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
276 TICKER_PLUGIN_ID, /**< id */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
277 N_("Buddy Ticker"), /**< name */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
278 VERSION, /**< version */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
279 /** summary */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
280 N_("A horizontal scrolling version of the buddy list."), |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
281 /** description */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
282 N_("A horizontal scrolling version of the buddy list."), |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
283 "Syd Logan", /**< author */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
284 WEBSITE, /**< homepage */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
285 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
286 plugin_load, /**< load */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
287 plugin_unload, /**< unload */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
288 NULL, /**< destroy */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
289 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
290 &ui_info, /**< ui_info */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
291 NULL /**< extra_info */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
292 }; |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
293 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
294 static void |
|
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
295 init_plugin(GaimPlugin *plugin) |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
296 { |
| 3551 | 297 } |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
298 |
|
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
299 GAIM_INIT_PLUGIN(ticker, init_plugin, info); |
