rem: LinkedList *selectedIcons;
add: WMBag *selectedIcons;
context: omnipresentCallback(WMenu *menu, WMenuEntry *entry){    WAppIcon *clickedIcon = entry->clientdata;    WAppIcon *aicon;    WDock *dock;    LinkedList *selectedIcons;    int failed;    assert(entry->clientdata!=NULL);    dock = clickedIcon->dock;    selectedIcons = getSelected(dock);    if (!selectedIcons)        selectedIcons = list_cons(clickedIcon, NULL);    failed = 0;    while (selectedIcons) {        aicon = selectedIcons->head;        if (wClipMakeIconOmnipresent(aicon, !aicon->omnipresent) == WO_FAILED)            failed++;        else if (aicon->icon->selected)            wIconSelect(aicon->icon);        list_remove_head(&selectedIcons);    }    if (failed > 1) {        wMessageDialog(dock->screen_ptr, _("Warning"),                       _("Some icons cannot be made omnipresent. "                         "Please make sure that no other icon is "                         "docked in the same positions on the other "                         "workspaces and the Clip is not full in "                         "some workspace."),                       _("OK"), NULL, NULL);    } else if (failed == 1) {        wMessageDialog(dock->screen_ptr, _("Warning"),                       _("Icon cannot be made omnipresent. "                         "Please make sure that no other icon is "                         "docked in the same position on the other "                         "workspaces and the Clip is not full in "                         "some workspace."),                       _("OK"), NULL, NULL);    }}