From 64feda1d3c9e2bba2b1a2915ae59ad36f81fa543 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Thu, 14 Sep 2006 23:16:46 +0000 Subject: [PATCH] safety from setting null zone SVN revision: 25847 --- src/bin/e_border.c | 5 +++-- src/bin/e_container.c | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 18ed6e131..11e35f00e 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -508,7 +508,7 @@ e_border_res_change_geometry_restore(E_Border *bd) E_OBJECT_CHECK(bd); E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE); - if (!bd->pre_res_change.valid) return ; + if (!bd->pre_res_change.valid) return; memcpy(&pre_res_change, &bd->pre_res_change, sizeof(pre_res_change)); @@ -571,7 +571,8 @@ e_border_zone_set(E_Border *bd, E_Zone *zone) E_OBJECT_CHECK(zone); E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE); if (bd->zone == zone) return; - + if (!zone) return; + /* if the window does not lie in the new zone, move it so that it does */ if (!E_INTERSECTS(bd->x, bd->y, bd->w, bd->h, zone->x, zone->y, zone->w, zone->h)) { diff --git a/src/bin/e_container.c b/src/bin/e_container.c index 6b204d3b7..25fd7a0be 100644 --- a/src/bin/e_container.c +++ b/src/bin/e_container.c @@ -569,6 +569,7 @@ e_container_border_add(E_Border *bd) { int pos = 0; + if (!bd->zone) return; if (bd->layer == 0) pos = 0; else if ((bd->layer > 0) && (bd->layer <= 50)) pos = 1; else if ((bd->layer > 50) && (bd->layer <= 100)) pos = 2; @@ -645,6 +646,7 @@ e_container_border_raise(E_Border *bd) Evas_List *l; int pos = 0, i; + if (!bd->zone) return; /* Remove from old layer */ for (i = 0; i < 7; i++) { @@ -698,6 +700,7 @@ e_container_border_lower(E_Border *bd) Evas_List *l; int pos = 0, i; + if (!bd->zone) return; /* Remove from old layer */ for (i = 0; i < 7; i++) { @@ -748,6 +751,7 @@ e_container_border_stack_above(E_Border *bd, E_Border *above) { int pos = 0, i; + if (!bd->zone) return; /* Remove from old layer */ for (i = 0; i < 7; i++) { @@ -780,6 +784,7 @@ e_container_border_stack_below(E_Border *bd, E_Border *below) { int pos = 0, i; + if (!bd->zone) return; /* Remove from old layer */ for (i = 0; i < 7; i++) {