X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftaskbar%2Ftask.c;h=5f92233647cd9167c19ed7e23c2f512eb1b296b6;hb=a72ae04bf96477f11d8bf24baea54596f6d3356b;hp=a096af30d7332b43b7069c8f4a777f97b20f2bf5;hpb=4e5af01dacd2a13dcf01b1a3e239591b59241afa;p=chaz%2Ftint2 diff --git a/src/taskbar/task.c b/src/taskbar/task.c index a096af3..5f92233 100644 --- a/src/taskbar/task.c +++ b/src/taskbar/task.c @@ -209,7 +209,7 @@ void get_icon (Task *tsk) int i; Imlib_Image img = NULL; XWMHints *hints = 0; - long *data = 0; + gulong *data = 0; int k; for (k=0; kwin, server.atom._NET_WM_ICON, XA_CARDINAL, &i); - if (data && i) { + if (data) { // get ARGB icon int w, h; - long *tmp_data; + gulong *tmp_data; tmp_data = get_best_icon (data, get_icon_count (data, i), i, &w, &h, panel->g_task.icon_size1); - #ifdef __x86_64__ DATA32 icon_data[w * h]; int length = w * h; @@ -444,9 +443,11 @@ void active_task() //printf("Change active task %ld\n", w1); if (w1) { - Window w2; - if (XGetTransientForHint(server.dsp, w1, &w2) != 0) - if (w2 && !task_get_tasks(w1)) w1 = w2; + if (!task_get_tasks(w1)) { + Window w2; + while (XGetTransientForHint(server.dsp, w1, &w2)) + w1 = w2; + } set_task_state((task_active = task_get_task(w1)), TASK_ACTIVE); } }