rem: if (mask & WNCOnName) {
add: if ((mask & WNCOnName) && (mask & WNCOnSender)) { for (i = 0; i < WMGetBagItemCount(queue->asapQueue); i++) { tmp = WMGetFromBag(queue->asapQueue, i);  if (notification->object == tmp->object && strcmp(notification->name, tmp->name) == 0) { WMRemoveFromBag(queue->asapQueue, tmp); WMReleaseNotification(tmp); break; } } for (i = 0; i < WMGetBagItemCount(queue->idleQueue); i++) { tmp = WMGetFromBag(queue->idleQueue, i);  if (notification->object == tmp->object && strcmp(notification->name, tmp->name) == 0) { WMRemoveFromBag(queue->idleQueue, tmp); WMReleaseNotification(tmp); break; } } } else if (mask & WNCOnName) {
context: WMDequeueNotificationMatching(WMNotificationQueue *queue, 			      WMNotification *notification, unsigned mask){    int i;    WMNotification *tmp;    if (mask & WNCOnName) {	for (i = 0; i < WMGetBagItemCount(queue->asapQueue); i++) {	    tmp = WMGetFromBag(queue->asapQueue, i);	    if (strcmp(notification->name, tmp->name) == 0) {		WMRemoveFromBag(queue->asapQueue, tmp);		WMReleaseNotification(tmp);		break;	    }	}	for (i = 0; i < WMGetBagItemCount(queue->idleQueue); i++) {	    tmp = WMGetFromBag(queue->idleQueue, i);	    if (strcmp(notification->name, tmp->name) == 0) {		WMRemoveFromBag(queue->idleQueue, tmp);		WMReleaseNotification(tmp);		break;	    }	}    }    if (mask & WNCOnSender) {	for (i = 0; i < WMGetBagItemCount(queue->asapQueue); i++) {	    tmp = WMGetFromBag(queue->asapQueue, i);	    if (notification->object == tmp->object) {		WMRemoveFromBag(queue->asapQueue, tmp);		WMReleaseNotification(tmp);		break;	    }	}	for (i = 0; i < WMGetBagItemCount(queue->idleQueue); i++) {	    tmp = WMGetFromBag(queue->idleQueue, i);	    if (notification->object == tmp->object) {		WMRemoveFromBag(queue->idleQueue, tmp);		WMReleaseNotification(tmp);		break;	    }	}    }}