comparison pidgin/gtkstatusbox.c @ 28818:2c1677e123dc

there's no reason for message_changed to use g_utf8_collate, and also no reason why it can't be replaced by purple_strequal
author Ka-Hing Cheung <khc@hxbc.us>
date Sun, 25 Oct 2009 23:04:19 +0000
parents e35043e96a1a
children 986aa7474fd4
comparison
equal deleted inserted replaced
28817:e35043e96a1a 28818:2c1677e123dc
2322 if (!typing_stock_ids[++status_box->typing_index]) 2322 if (!typing_stock_ids[++status_box->typing_index])
2323 status_box->typing_index = 0; 2323 status_box->typing_index = 0;
2324 pidgin_status_box_refresh(status_box); 2324 pidgin_status_box_refresh(status_box);
2325 } 2325 }
2326 2326
2327 static gboolean
2328 message_changed(const char *one, const char *two)
2329 {
2330 if (one == NULL && two == NULL)
2331 return FALSE;
2332
2333 if (one == NULL || two == NULL)
2334 return TRUE;
2335
2336 return (g_utf8_collate(one, two) != 0);
2337 }
2338
2339 static void 2327 static void
2340 activate_currently_selected_status(PidginStatusBox *status_box) 2328 activate_currently_selected_status(PidginStatusBox *status_box)
2341 { 2329 {
2342 PidginStatusBoxItemType type; 2330 PidginStatusBoxItemType type;
2343 gpointer data; 2331 gpointer data;
2406 id = purple_status_type_get_id(acct_status_type); 2394 id = purple_status_type_get_id(acct_status_type);
2407 2395
2408 if (strncmp(id, purple_status_get_id(status), strlen(id)) == 0) 2396 if (strncmp(id, purple_status_get_id(status), strlen(id)) == 0)
2409 { 2397 {
2410 /* Selected status and previous status is the same */ 2398 /* Selected status and previous status is the same */
2411 if (!message_changed(message, purple_status_get_attr_string(status, "message"))) 2399 if (purple_strequal(message, purple_status_get_attr_string(status, "message")))
2412 { 2400 {
2413 PurpleSavedStatus *ss = purple_savedstatus_get_current(); 2401 PurpleSavedStatus *ss = purple_savedstatus_get_current();
2414 /* Make sure that statusbox displays the correct thing. 2402 /* Make sure that statusbox displays the correct thing.
2415 * It can get messed up if the previous selection was a 2403 * It can get messed up if the previous selection was a
2416 * saved status that wasn't supported by this account */ 2404 * saved status that wasn't supported by this account */
2423 } else { 2411 } else {
2424 saved_status = purple_savedstatus_get_current(); 2412 saved_status = purple_savedstatus_get_current();
2425 if (purple_savedstatus_get_type(saved_status) == primitive && 2413 if (purple_savedstatus_get_type(saved_status) == primitive &&
2426 !purple_savedstatus_has_substatuses(saved_status)) 2414 !purple_savedstatus_has_substatuses(saved_status))
2427 { 2415 {
2428 if (!message_changed(purple_savedstatus_get_message(saved_status), message)) 2416 if (purple_strequal(purple_savedstatus_get_message(saved_status), message))
2429 changed = FALSE; 2417 changed = FALSE;
2430 } 2418 }
2431 } 2419 }
2432 2420
2433 if (changed) 2421 if (changed)
2440 for (; iter != NULL; iter = iter->next) { 2428 for (; iter != NULL; iter = iter->next) {
2441 PurpleSavedStatus *ss = iter->data; 2429 PurpleSavedStatus *ss = iter->data;
2442 const char *ss_msg = purple_savedstatus_get_message(ss); 2430 const char *ss_msg = purple_savedstatus_get_message(ss);
2443 if ((purple_savedstatus_get_type(ss) == primitive) && purple_savedstatus_is_transient(ss) && 2431 if ((purple_savedstatus_get_type(ss) == primitive) && purple_savedstatus_is_transient(ss) &&
2444 purple_savedstatus_has_substatuses(ss) && /* Must have substatuses */ 2432 purple_savedstatus_has_substatuses(ss) && /* Must have substatuses */
2445 !message_changed(ss_msg, message)) 2433 purple_strequal(ss_msg, message))
2446 { 2434 {
2447 gboolean found = FALSE; 2435 gboolean found = FALSE;
2448 /* The currently enabled accounts must have substatuses for all the active accts */ 2436 /* The currently enabled accounts must have substatuses for all the active accts */
2449 for(tmp = active_accts; tmp != NULL; tmp = tmp->next) { 2437 for(tmp = active_accts; tmp != NULL; tmp = tmp->next) {
2450 PurpleAccount *acct = tmp->data; 2438 PurpleAccount *acct = tmp->data;
2507 id = purple_status_type_get_id(status_type); 2495 id = purple_status_type_get_id(status_type);
2508 2496
2509 if (strncmp(id, purple_status_get_id(status), strlen(id)) == 0) 2497 if (strncmp(id, purple_status_get_id(status), strlen(id)) == 0)
2510 { 2498 {
2511 /* Selected status and previous status is the same */ 2499 /* Selected status and previous status is the same */
2512 if (!message_changed(message, purple_status_get_attr_string(status, "message"))) 2500 if (purple_strequal(message, purple_status_get_attr_string(status, "message")))
2513 changed = FALSE; 2501 changed = FALSE;
2514 } 2502 }
2515 2503
2516 if (changed) 2504 if (changed)
2517 { 2505 {