From bd63fe8048e5a2f80ee4721441fe1d9237196d0a Mon Sep 17 00:00:00 2001 From: sebastid Date: Fri, 17 Jun 2005 09:29:27 +0000 Subject: [PATCH] Fix send border to 0, 0 problem. SVN revision: 15383 --- src/bin/e_hints.c | 18 ++++++++---------- src/bin/e_main.c | 3 +-- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index c234f66a4..15168000c 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -1059,24 +1059,22 @@ e_hints_window_stacking_set(E_Border *bd, E_Stacking stacking) void e_hints_window_desktop_set(E_Border *bd) { + /* This function is only called when really changing desktop, + * so just set the property and don't care about the roundtrip. + */ unsigned int deskpos[2]; - unsigned int current; - current = (bd->desk->y * bd->zone->desk_x_count) + bd->desk->x; /* if valgrind complains here it is complaining bd->client.netwm.desktop * is an uninitialised variable - but it isn't. it can't be. its part of * a calloc()'d struct and thus has to have been set to 0. hell even * e_border.c explicitly sets it to 0 on creation of the border object. */ - if (bd->client.netwm.desktop != current) - { - deskpos[0] = bd->desk->x; - deskpos[1] = bd->desk->y; - ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_DESK, deskpos, 2); + deskpos[0] = bd->desk->x; + deskpos[1] = bd->desk->y; + ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_DESK, deskpos, 2); #if 0 - ecore_x_netwm_desktop_set(bd->client.win, current); + ecore_x_netwm_desktop_set(bd->client.win, current); #endif - bd->client.netwm.desktop = current; - } + bd->client.netwm.desktop = (bd->desk->y * bd->zone->desk_x_count) + bd->desk->x; } diff --git a/src/bin/e_main.c b/src/bin/e_main.c index 057337813..838753a59 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -700,10 +700,9 @@ _e_main_screens_init(void) if (con) { e_container_show(con); - e_manager_manage_windows(man); - /* setup hints */ e_hints_manager_init(man); _e_main_desk_restore(man, con); + e_manager_manage_windows(man); } else {