*fix* segfault when cycling through tasks and taskbarname is enabled

git-svn-id: http://tint2.googlecode.com/svn/trunk@628 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
o9000 2011-03-07 23:46:42 +00:00 committed by mrovi@interfete-web-club.com
parent 25d1555150
commit 97001249b5

View file

@ -411,16 +411,17 @@ Task *next_task(Task *tsk)
if (tsk == 0) if (tsk == 0)
return 0; return 0;
GSList *l0; GSList *l0, *lfirst_tsk;
Task *tsk1; Task *tsk1;
Taskbar* tskbar = tsk->area.parent; Taskbar* tskbar = tsk->area.parent;
l0 = tskbar->area.list; l0 = tskbar->area.list;
if (taskbarname_enabled) l0 = l0->next; if (taskbarname_enabled) l0 = l0->next;
lfirst_tsk = l0;
for (; l0 ; l0 = l0->next) { for (; l0 ; l0 = l0->next) {
tsk1 = l0->data; tsk1 = l0->data;
if (tsk1 == tsk) { if (tsk1 == tsk) {
if (l0->next == 0) l0 = tskbar->area.list; if (l0->next == 0) l0 = lfirst_tsk;
else l0 = l0->next; else l0 = l0->next;
return l0->data; return l0->data;
} }
@ -434,17 +435,18 @@ Task *prev_task(Task *tsk)
if (tsk == 0) if (tsk == 0)
return 0; return 0;
GSList *l0; GSList *l0, *lfirst_tsk;
Task *tsk1, *tsk2; Task *tsk1, *tsk2;
Taskbar* tskbar = tsk->area.parent; Taskbar* tskbar = tsk->area.parent;
tsk2 = 0; tsk2 = 0;
l0 = tskbar->area.list; l0 = tskbar->area.list;
if (taskbarname_enabled) l0 = l0->next; if (taskbarname_enabled) l0 = l0->next;
lfirst_tsk = l0;
for (; l0 ; l0 = l0->next) { for (; l0 ; l0 = l0->next) {
tsk1 = l0->data; tsk1 = l0->data;
if (tsk1 == tsk) { if (tsk1 == tsk) {
if (l0 == tskbar->area.list) { if (l0 == lfirst_tsk) {
l0 = g_slist_last ( l0 ); l0 = g_slist_last ( l0 );
tsk2 = l0->data; tsk2 = l0->data;
} }