Mercurial > pidgin.yaz
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) |