diff --git a/config/definitions b/config/definitions index 35bbec35..cbaf62a5 100644 --- a/config/definitions +++ b/config/definitions @@ -235,6 +235,7 @@ #define __BACKGROUND_LAYER 561 #define __FORGROUND_LAYER 562 #define __USE_ON_DESKTOP 564 +#define __DESKTOP_ALL -1 #define __TYPE_NORMAL 5 #define __TYPE_GLOBAL 7 diff --git a/src/backgrounds.c b/src/backgrounds.c index d6e168d5..83ca4521 100644 --- a/src/backgrounds.c +++ b/src/backgrounds.c @@ -1064,7 +1064,7 @@ BackgroundsConfigLoad(FILE * fs) char *bg2 = 0; char *name = 0; char ignore = 0; - unsigned int desk; + int desk; SET_COLOR(&color, 0, 0, 0); @@ -1106,10 +1106,22 @@ BackgroundsConfigLoad(FILE * fs) desk = atoi(s2); if (desk >= N_BG_ASSIGNED) break; - if (!bg_assigned[desk] || Conf.backgrounds.user) + if (desk >= 0) + { + if (!bg_assigned[desk] || Conf.backgrounds.user) + { + bg_assigned[desk] = bg; + bg->referenced = 1; + } + } + else { - bg_assigned[desk] = bg; bg->referenced = 1; + for (ii1 = 0; ii1 < N_BG_ASSIGNED; ii1++) + { + if (!bg_assigned[ii1]) + bg_assigned[ii1] = bg; + } } break;