changeset 3190:aa6e4508ed34

Updated #283: Moved syntax check handling to ruby.c
author unexist
date Fri, 16 Mar 2012 23:54:45 +0100
parents bd23b94f3589
children ef74e2550a18
files src/subtle/subtle.c
diffstat 1 files changed, 20 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/src/subtle/subtle.c	Fri Mar 16 23:53:06 2012 +0100
+++ b/src/subtle/subtle.c	Fri Mar 16 23:54:45 2012 +0100
@@ -226,22 +226,26 @@
       if(subtle->dpy)
         XSync(subtle->dpy, False); ///< Sync before going on
 
-      /* Hook: Exit */
-      subHookCall(SUB_HOOK_EXIT, NULL);
+      /* Handle hooks first */
+      if(subtle->hooks)
+        {
+          /* Hook: Exit */
+          subHookCall(SUB_HOOK_EXIT, NULL);
 
-      /* Clear hooks first to stop calling */
-      subArrayClear(subtle->hooks, True);
+          /* Clear hooks first to stop calling */
+          subArrayClear(subtle->hooks, True);
+        }
 
       /* Kill arrays */
-      subArrayKill(subtle->clients,   True);
-      subArrayKill(subtle->grabs,     True);
-      subArrayKill(subtle->gravities, True);
-      subArrayKill(subtle->screens,   True);
-      subArrayKill(subtle->sublets,   False);
-      subArrayKill(subtle->tags,      True);
-      subArrayKill(subtle->trays,     True);
-      subArrayKill(subtle->views,     True);
-      subArrayKill(subtle->hooks,     False);
+      if(subtle->clients)   subArrayKill(subtle->clients,   True);
+      if(subtle->grabs)     subArrayKill(subtle->grabs,     True);
+      if(subtle->gravities) subArrayKill(subtle->gravities, True);
+      if(subtle->screens)   subArrayKill(subtle->screens,   True);
+      if(subtle->sublets)   subArrayKill(subtle->sublets,   False);
+      if(subtle->tags)      subArrayKill(subtle->tags,      True);
+      if(subtle->trays)     subArrayKill(subtle->trays,     True);
+      if(subtle->views)     subArrayKill(subtle->views,     True);
+      if(subtle->hooks)     subArrayKill(subtle->hooks,     False);
 
       /* Reset styles to free fonts and substyles */
       subStyleReset(&subtle->styles.all,       0);
@@ -337,18 +341,13 @@
   /* Load and check config only */
   if(subtle->flags & SUB_SUBTLE_CHECK)
     {
-      int ret = 0;
-
       subRubyInit();
-
-      if((ret = subRubyLoadConfig()))
-        printf("Syntax OK\n");
-
+      subRubyLoadConfig();
       subRubyFinish();
 
-      free(subtle);
+      free(subtle); ///< We just need to free this
 
-      return !ret;
+      return 0;
     }
 
   /* Alloc arrays */