Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 901775 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/main.c (-2 / +5 lines)
Lines 534-544 void handle_x_event(XEvent *e) Link Here
534
        }
534
        }
535
        if (e->xany.window == g_tooltip.window || !systray_enabled)
535
        if (e->xany.window == g_tooltip.window || !systray_enabled)
536
            break;
536
            break;
537
        for (GSList *it = systray.list_icons; it; it = it->next)
537
        /* we might remove elements in the callback so a copy is needed */
538
        GSList *list = g_slist_copy(systray.list_icons);
539
        for (GSList *it = list; it; it = it->next)
538
        {
540
        {
539
            if (((TrayWindow *)it->data)->win == e->xany.window)
541
            if (it->data != NULL && ((TrayWindow *)it->data)->win == e->xany.window)
540
                systray_destroy_event(it->data);
542
                systray_destroy_event(it->data);
541
        }
543
        }
544
        g_slist_free(list);
542
        break;
545
        break;
543
    case ClientMessage: {
546
    case ClientMessage: {
(-)a/src/util/uevent.c (-1 / +4 lines)
Lines 146-152 void uevent_handler( fd_set *fds, int *fdn) Link Here
146
    struct uevent ev;
146
    struct uevent ev;
147
    if (uevent_new(&ev, buf, len)) {
147
    if (uevent_new(&ev, buf, len)) {
148
        for (GSList *l = notifiers; l; l = l->next)
148
        /* we might remove elements in the callback so a copy is needed */
149
        GSList *list = g_slist_copy(notifiers);
150
        for (GSList *l = list; l; l = l->next)
149
        {
151
        {
150
            struct uevent_notify *nb = l->data;
152
            struct uevent_notify *nb = l->data;
Lines 157-162 void uevent_handler( fd_set *fds, int *fdn) Link Here
157
            nb->cb(&ev, nb->userdata);
159
            nb->cb(&ev, nb->userdata);
158
        }
160
        }
161
        g_slist_free(list);
159
        uevent_destroy (&ev);
162
        uevent_destroy (&ev);
160
    }
163
    }
161
}
164
}

Return to bug 901775