Code

fix segfault
authorAndreas Obergrusberger <tradiaz@yahoo.de>
Thu, 29 Mar 2007 15:34:34 +0000 (15:34 +0000)
committerAndreas Obergrusberger <tradiaz@yahoo.de>
Thu, 29 Mar 2007 15:34:34 +0000 (15:34 +0000)
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5773 09075e82-0dd4-0310-85a5-a0d7c8717e4f

src/screen_lyrics.c
src/src_lyrics.c

index 03a474ff875fe3bf52325fbaab1979d76f235971..c5876f30a921217d94980533edef33384ba311f2 100644 (file)
@@ -115,7 +115,7 @@ gpointer get_lyr(void *c)
 
         char artist[MAX_SONGNAME_LENGTH];
         char title[MAX_SONGNAME_LENGTH];
-        lock = 2;
+       lock=2;
         result = 0;
         
         formed_text_init(&lyr_text);
@@ -132,7 +132,11 @@ gpointer get_lyr(void *c)
         
         if (((retrieval_spec*)c)->way != -1) /*till it'S of use*/
         {
-                 if(get_lyr_by_src (src_selection, artist, title) != 0) return NULL;
+                 if(get_lyr_by_src (src_selection, artist, title) != 0)
+                  {
+                   lock=0;
+                   return NULL;
+                  }
         }
         /*else{
                 if(get_lyr_hd(artist, title) != 0) 
@@ -141,7 +145,7 @@ gpointer get_lyr(void *c)
                 }
                 else result |= 1;
         }*/
-        
+       //return NULL;
         lw->start = 0;
         check_repaint();
         lock = 1;
index 10d0dce51defa6e60ac1ed2c72f717d3ef92621c..395a24b160054d5f0d69704f1fcd7009c201c0c4 100644 (file)
@@ -145,6 +145,7 @@ int src_lyr_init ()
 
 int get_lyr_by_src (int priority, char *artist, char *title)
 {
+  if(src_lyr_stack->len == 0) return -1;
   //if (g_array_index (src_lyr_stack, src_lyr*, priority)->check_lyr() == 0)
     //{
        g_array_index (src_lyr_stack, src_lyr*, priority)->get_lyr (artist, title);