comparison pidgin/gtkstatusbox.c @ 28823:d050abf6608f

colapses 2 ifs together
author Ka-Hing Cheung <khc@hxbc.us>
date Mon, 26 Oct 2009 07:35:18 +0000
parents 9e8d0537d37d
children 6534ca3bc3bf
comparison
equal deleted inserted replaced
28822:9e8d0537d37d 28823:d050abf6608f
2391 status = purple_account_get_active_status(status_box->token_status_account); 2391 status = purple_account_get_active_status(status_box->token_status_account);
2392 2392
2393 acct_status_type = find_status_type_by_index(status_box->token_status_account, active); 2393 acct_status_type = find_status_type_by_index(status_box->token_status_account, active);
2394 id = purple_status_type_get_id(acct_status_type); 2394 id = purple_status_type_get_id(acct_status_type);
2395 2395
2396 if (g_str_equal(id, purple_status_get_id(status))) 2396 if (g_str_equal(id, purple_status_get_id(status)) &&
2397 purple_strequal(message, purple_status_get_attr_string(status, "message")))
2397 { 2398 {
2398 /* Selected status and previous status is the same */ 2399 /* Selected status and previous status is the same */
2399 if (purple_strequal(message, purple_status_get_attr_string(status, "message"))) 2400 PurpleSavedStatus *ss = purple_savedstatus_get_current();
2400 { 2401 /* Make sure that statusbox displays the correct thing.
2401 PurpleSavedStatus *ss = purple_savedstatus_get_current(); 2402 * It can get messed up if the previous selection was a
2402 /* Make sure that statusbox displays the correct thing. 2403 * saved status that wasn't supported by this account */
2403 * It can get messed up if the previous selection was a 2404 if ((purple_savedstatus_get_type(ss) == primitive)
2404 * saved status that wasn't supported by this account */ 2405 && purple_savedstatus_is_transient(ss)
2405 if ((purple_savedstatus_get_type(ss) == primitive) 2406 && purple_savedstatus_has_substatuses(ss))
2406 && purple_savedstatus_is_transient(ss) 2407 changed = FALSE;
2407 && purple_savedstatus_has_substatuses(ss))
2408 changed = FALSE;
2409 }
2410 } 2408 }
2411 } else { 2409 } else {
2412 saved_status = purple_savedstatus_get_current(); 2410 saved_status = purple_savedstatus_get_current();
2413 if (purple_savedstatus_get_type(saved_status) == primitive && 2411 if (purple_savedstatus_get_type(saved_status) == primitive &&
2414 !purple_savedstatus_has_substatuses(saved_status)) 2412 !purple_savedstatus_has_substatuses(saved_status) &&
2413 purple_strequal(purple_savedstatus_get_message(saved_status), message))
2415 { 2414 {
2416 if (purple_strequal(purple_savedstatus_get_message(saved_status), message)) 2415 changed = FALSE;
2417 changed = FALSE;
2418 } 2416 }
2419 } 2417 }
2420 2418
2421 if (changed) 2419 if (changed)
2422 { 2420 {
2493 active = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(status_box), "active")); 2491 active = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(status_box), "active"));
2494 2492
2495 status_type = find_status_type_by_index(status_box->account, active); 2493 status_type = find_status_type_by_index(status_box->account, active);
2496 id = purple_status_type_get_id(status_type); 2494 id = purple_status_type_get_id(status_type);
2497 2495
2498 if (g_str_equal(id, purple_status_get_id(status))) 2496 if (g_str_equal(id, purple_status_get_id(status)) &&
2497 purple_strequal(message, purple_status_get_attr_string(status, "message")))
2499 { 2498 {
2500 /* Selected status and previous status is the same */ 2499 /* Selected status and previous status is the same */
2501 if (purple_strequal(message, purple_status_get_attr_string(status, "message"))) 2500 changed = FALSE;
2502 changed = FALSE;
2503 } 2501 }
2504 2502
2505 if (changed) 2503 if (changed)
2506 { 2504 {
2507 if (message) 2505 if (message)