static void pager_rebuild_all(FbEv *ev, pager_priv *pg) { int desknum, dif, i; int curdesk G_GNUC_UNUSED; ENTER; desknum = pg->desknum; curdesk = pg->curdesk; pg->desknum = get_net_number_of_desktops(); if (pg->desknum < 1) pg->desknum = 1; else if (pg->desknum > MAX_DESK_NUM) { pg->desknum = MAX_DESK_NUM; ERR("pager: max number of supported desks is %d\n", MAX_DESK_NUM); } pg->curdesk = get_net_current_desktop(); if (pg->curdesk >= pg->desknum) pg->curdesk = 0; DBG("desknum=%d curdesk=%d\n", desknum, curdesk); DBG("pg->desknum=%d pg->curdesk=%d\n", pg->desknum, pg->curdesk); dif = pg->desknum - desknum; if (dif == 0) RET(); if (dif < 0) { /* if desktops were deleted then delete their maps also */ for (i = pg->desknum; i < desknum; i++) desk_free(pg, i); } else { for (i = desknum; i < pg->desknum; i++) desk_new(pg, i); } g_hash_table_foreach_remove(pg->htable, (GHRFunc) task_remove_all, (gpointer)pg); do_net_current_desktop(NULL, pg); do_net_client_list_stacking(NULL, pg); RET(); }
static void pager_rebuild_all(FbEv *ev, pager *pg) { int desknum, curdesk, dif, i; ENTER; desknum = pg->desknum; curdesk = pg->curdesk; pg->desknum = get_net_number_of_desktops(); if (pg->desknum < 1) pg->desknum = 1; else if (pg->desknum > MAX_DESK_NUM) { pg->desknum = MAX_DESK_NUM; ERR("pager: max number of supported desks is %d\n", MAX_DESK_NUM); } pg->curdesk = get_net_current_desktop(); if (pg->curdesk >= pg->desknum) pg->curdesk = 0; DBG("desknum=%d curdesk=%d\n", desknum, curdesk); DBG("pg->desknum=%d pg->curdesk=%d\n", pg->desknum, pg->curdesk); dif = pg->desknum - desknum; if (dif == 0) RET(); if (dif < 0) { /* if desktops were deleted then delete their maps also */ for (i = pg->desknum; i < desknum; i++) desk_free(pg, i); } else { for (i = desknum; i < pg->desknum; i++) desk_new(pg, i); } do_net_client_list_stacking(NULL, pg); RET(); }