diff --git a/modules/FvwmPager/messages.c b/modules/FvwmPager/messages.c index c93ed3056..cbf062053 100644 --- a/modules/FvwmPager/messages.c +++ b/modules/FvwmPager/messages.c @@ -422,7 +422,9 @@ void process_new_desk(unsigned long *body) */ oldDesk = fp->m->virtual_scr.CurrentDesk; newDesk = fp->m->virtual_scr.CurrentDesk = (long)body[0]; - if (newDesk >= desk1 && newDesk <= desk2) + if (fAlwaysCurrentDesk) + Desks[0].fp = fp; + else if (newDesk >= desk1 && newDesk <= desk2) Desks[newDesk - desk1].fp = fp; /* Only update FvwmPager's desk for the monitors being tracked. @@ -454,7 +456,7 @@ void process_new_desk(unsigned long *body) monitor_assign_virtual(fp->m); /* If always tracking current desk. Update Desks[0]. */ - if (fAlwaysCurrentDesk && oldDesk != newDesk) + if (fAlwaysCurrentDesk && (oldDesk != newDesk || desk1 != newDesk)) { PagerWindow *t;