Mercurial > pidgin-twitter
comparison pidgin-twitter.c @ 158:ae09f0d93b17
fixed a bug that get_status_with_api() will never be called if pidgin-twitter started with api_based_post disabled. it must be submitted to main loop regardless of configuration.
author | Yoshiki Yazawa <yaz@honeyplnaet.jp> |
---|---|
date | Sat, 26 Jul 2008 03:46:23 +0900 |
parents | fbe526b20885 |
children | b771ddf0b683 |
comparison
equal
deleted
inserted
replaced
157:fbe526b20885 | 158:ae09f0d93b17 |
---|---|
511 char *request, *header; | 511 char *request, *header; |
512 char *basic_auth, *basic_auth_encoded; | 512 char *basic_auth, *basic_auth_encoded; |
513 | 513 |
514 twitter_debug("called\n"); | 514 twitter_debug("called\n"); |
515 | 515 |
516 PurpleConversation *conv = (PurpleConversation *)data; | 516 /* if disabled, just return */ |
517 if(!conv) | 517 if(!purple_prefs_get_bool(OPT_API_BASE_POST)) |
518 return FALSE; /* cease fetch */ | 518 return TRUE; |
519 | 519 |
520 const char *screen_name = | 520 const char *screen_name = |
521 purple_prefs_get_string(OPT_SCREEN_NAME_TWITTER); | 521 purple_prefs_get_string(OPT_SCREEN_NAME_TWITTER); |
522 const char *password = | 522 const char *password = |
523 purple_prefs_get_string(OPT_PASSWORD_TWITTER); | 523 purple_prefs_get_string(OPT_PASSWORD_TWITTER); |
1418 | 1418 |
1419 gint service = get_service_type(conv); | 1419 gint service = get_service_type(conv); |
1420 /* only attach to twitter conversation window */ | 1420 /* only attach to twitter conversation window */ |
1421 switch(service) { | 1421 switch(service) { |
1422 case twitter_service: | 1422 case twitter_service: |
1423 if(purple_prefs_get_bool(OPT_API_BASE_POST)) { | 1423 get_status_with_api((gpointer)conv); |
1424 get_status_with_api((gpointer)conv); | 1424 source.id = g_timeout_add_seconds( |
1425 source.id = g_timeout_add_seconds( | 1425 purple_prefs_get_int(OPT_API_BASE_GET_INTERVAL), |
1426 purple_prefs_get_int(OPT_API_BASE_GET_INTERVAL), | 1426 get_status_with_api, (gpointer)conv); |
1427 get_status_with_api, (gpointer)conv); | 1427 source.conv = conv; |
1428 source.conv = conv; | |
1429 } | |
1430 attach_to_conv(conv, NULL); | 1428 attach_to_conv(conv, NULL); |
1431 break; | 1429 break; |
1432 case wassr_service: | 1430 case wassr_service: |
1433 case identica_service: | 1431 case identica_service: |
1434 attach_to_conv(conv, NULL); | 1432 attach_to_conv(conv, NULL); |
2312 static void | 2310 static void |
2313 api_base_post_cb(const char *name, PurplePrefType type, gconstpointer value, | 2311 api_base_post_cb(const char *name, PurplePrefType type, gconstpointer value, |
2314 gpointer data) | 2312 gpointer data) |
2315 { | 2313 { |
2316 signed_on_cb(NULL); | 2314 signed_on_cb(NULL); |
2315 get_status_with_api((gpointer)(source.conv)); | |
2317 } | 2316 } |
2318 | 2317 |
2319 | 2318 |
2320 | 2319 |
2321 static gboolean | 2320 static gboolean |
2645 g_object_set_data(G_OBJECT(e), "pref", OPT_API_BASE_POST); | 2644 g_object_set_data(G_OBJECT(e), "pref", OPT_API_BASE_POST); |
2646 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e), | 2645 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e), |
2647 purple_prefs_get_bool(OPT_API_BASE_POST)); | 2646 purple_prefs_get_bool(OPT_API_BASE_POST)); |
2648 g_signal_connect(e, "toggled", | 2647 g_signal_connect(e, "toggled", |
2649 G_CALLBACK(bool_toggled_cb), &e); | 2648 G_CALLBACK(bool_toggled_cb), &e); |
2650 | |
2651 purple_prefs_connect_callback(plugin, OPT_API_BASE_POST, /* xxx divide? */ | 2649 purple_prefs_connect_callback(plugin, OPT_API_BASE_POST, /* xxx divide? */ |
2652 api_base_post_cb, NULL); | 2650 api_base_post_cb, NULL); |
2653 | 2651 |
2654 e = GTK_WIDGET(gtk_builder_get_object (builder, "account_api_password")); | 2652 e = GTK_WIDGET(gtk_builder_get_object (builder, "account_api_password")); |
2655 g_object_set_data(G_OBJECT(e), "pref", OPT_PASSWORD_TWITTER); | 2653 g_object_set_data(G_OBJECT(e), "pref", OPT_PASSWORD_TWITTER); |