summaryrefslogtreecommitdiff
path: root/src/lib/edje/edje_message_queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/edje/edje_message_queue.c')
-rw-r--r--src/lib/edje/edje_message_queue.c34
1 files changed, 10 insertions, 24 deletions
diff --git a/src/lib/edje/edje_message_queue.c b/src/lib/edje/edje_message_queue.c
index 0257127969..db5542b06e 100644
--- a/src/lib/edje/edje_message_queue.c
+++ b/src/lib/edje/edje_message_queue.c
@@ -953,32 +953,18 @@ _edje_message_del(Edje *ed)
953 Edje_Message *em; 953 Edje_Message *em;
954 954
955 if (ed->message.num <= 0) return; 955 if (ed->message.num <= 0) return;
956 /* delete any messages on the main queue for this edje object */ 956 // delete any messages on the main or tmp queue for this edje object
957 for (l = msgq; l; l = ln) 957 for (l = ed->messages; l; l = ln)
958 {
959 ln = l->next;
960 em = INLIST_CONTAINER(Edje_Message, l, inlist_main);
961 if (em->edje == ed)
962 {
963 msgq = eina_inlist_remove(msgq, &(em->inlist_main));
964 em->edje->message.num--;
965 em->edje->messages = eina_inlist_remove(em->edje->messages, &(em->inlist_edje));
966 _edje_message_free(em);
967 }
968 if (ed->message.num <= 0) return;
969 }
970 /* delete any on the processing queue */
971 for (l = tmp_msgq; l; l = ln)
972 { 958 {
973 ln = l->next; 959 ln = l->next;
974 em = INLIST_CONTAINER(Edje_Message, l, inlist_main); 960 em = INLIST_CONTAINER(Edje_Message, l, inlist_edje);
975 if (em->edje == ed) 961 em->edje->message.num--;
976 { 962 if (em->in_tmp_msgq)
977 tmp_msgq = eina_inlist_remove(tmp_msgq, &(em->inlist_main)); 963 tmp_msgq = eina_inlist_remove(tmp_msgq, &(em->inlist_main));
978 em->edje->message.num--; 964 else
979 em->edje->messages = eina_inlist_remove(em->edje->messages, &(em->inlist_edje)); 965 msgq = eina_inlist_remove(msgq, &(em->inlist_main));
980 _edje_message_free(em); 966 em->edje->messages = eina_inlist_remove(em->edje->messages, &(em->inlist_edje));
981 } 967 _edje_message_free(em);
982 if (ed->message.num <= 0) return; 968 if (ed->message.num <= 0) return;
983 } 969 }
984} 970}