[prev in list] [next in list] [prev in thread] [next in thread] 

List:       enlightenment-svn
Subject:    E CVS: e kwo
From:       Enlightenment CVS <noreply () fitx-00 ! ewr ! caoslinux ! org>
Date:       2007-12-30 21:03:57
Message-ID: 20071230210357.CBE8BA30A2 () cvs ! caoslinux ! org
[Download RAW message or body]

Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
	borders.c 


Log Message:
Fix potential segv with broken themes.

===================================================================
RCS file: /cvs/e/e16/e/src/borders.c,v
retrieving revision 1.303
retrieving revision 1.304
diff -u -3 -r1.303 -r1.304
--- borders.c	30 Dec 2007 20:58:00 -0000	1.303
+++ borders.c	30 Dec 2007 21:03:57 -0000	1.304
@@ -1196,56 +1196,59 @@
 	i1 = ConfigParseline1(s, s2, NULL, NULL);
 	i2 = atoi(s2);
 
-	if (i2 == CONFIG_OPEN)
+	switch (i1)
 	  {
-	     err = BorderPartLoad(fs, i1, b);
-	     if (err)
-		break;
-	  }
-	else
-	  {
-	     switch (i1)
+	  case CONFIG_CLOSE:
+	     goto done;
+	  case CONFIG_CLASSNAME:
+	  case BORDER_NAME:
+	     if (BorderFind(s2))
 	       {
-	       case CONFIG_CLOSE:
+		  SkipTillEnd(fs);
 		  goto done;
-	       case BORDER_INIT:
-		  break;
-	       case CONFIG_CLASSNAME:
-	       case BORDER_NAME:
-		  if (BorderFind(s2))
-		    {
-		       SkipTillEnd(fs);
-		       goto done;
-		    }
-		  b = BorderCreate(s2);
-		  break;
-	       case BORDER_GROUP_NAME:
-		  b->group_border_name = Estrdup(s2);
-		  break;
-	       case BORDER_LEFT:
-		  b->border.left = i2;
-		  break;
-	       case BORDER_RIGHT:
-		  b->border.right = i2;
-		  break;
-	       case BORDER_TOP:
-		  b->border.top = i2;
-		  break;
-	       case BORDER_BOTTOM:
-		  b->border.bottom = i2;
-		  break;
-	       case SHADEDIR:
-		  b->shadedir = i2;
-		  break;
-	       case BORDER_CHANGES_SHAPE:
-		  b->changes_shape = i2;
-		  break;
-	       case CONFIG_ACTIONCLASS:
-		  b->aclass = ActionclassFind(s2);
-		  break;
-	       default:
-		  break;
 	       }
+	     b = BorderCreate(s2);
+	     continue;
+	  }
+
+	if (!b)
+	   break;
+
+	switch (i1)
+	  {
+	  default:
+	     break;
+	  case BORDER_INIT:
+	     if (i2 != CONFIG_OPEN)
+		break;
+	     err = BorderPartLoad(fs, i1, b);
+	     if (err)
+		break;
+	     break;
+	  case BORDER_GROUP_NAME:
+	     b->group_border_name = Estrdup(s2);
+	     break;
+	  case BORDER_LEFT:
+	     b->border.left = i2;
+	     break;
+	  case BORDER_RIGHT:
+	     b->border.right = i2;
+	     break;
+	  case BORDER_TOP:
+	     b->border.top = i2;
+	     break;
+	  case BORDER_BOTTOM:
+	     b->border.bottom = i2;
+	     break;
+	  case SHADEDIR:
+	     b->shadedir = i2;
+	     break;
+	  case BORDER_CHANGES_SHAPE:
+	     b->changes_shape = i2;
+	     break;
+	  case CONFIG_ACTIONCLASS:
+	     b->aclass = ActionclassFind(s2);
+	     break;
 	  }
      }
    err = -1;



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic