This fixes a SEGFPE when a new app has iccm info, doesn't request a pos
and have a size bigger/same than the container. (the SEGFPE is caused by
a modulo (0))

Cheers, 

Antoine Perdaens
Index: e_border.c
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.14
diff -u -r1.14 e_border.c
--- e_border.c	9 Dec 2004 13:56:06 -0000	1.14
+++ e_border.c	9 Dec 2004 20:23:59 -0000
@@ -1575,8 +1575,12 @@
 		  int new_x, new_y;
 		  
 		  printf("AUTO POS!\n");
-		  new_x = rand() % (bd->container->w - bd->w);
-		  new_y = rand() % (bd->container->h - bd->h);
+		  if ((bd->container->w - bd->w) > 0) /* avoid modulo (0) */
+		    new_x = rand() % (bd->container->w - bd->w);
+		  else new_x = 0;
+		  if ((bd->container->h - bd->h) > 0) /* avoid modulo (0) */
+		    new_y = rand() % (bd->container->h - bd->h);
+		  else new_y = 0;
 		  skiplist = evas_list_append(skiplist, bd);
 		  e_place_container_region_smart(bd->container, skiplist,
 						 bd->x, bd->y, bd->w, bd->h,

Reply via email to