[grilo] grl-source: fixed compare_queue_element function



commit bdeb52ad5d2e79f262bbbc030fd7a292bcc59252
Author: Andrzej Bieniek <andyhelp gmail com>
Date:   Sun Nov 25 10:18:03 2012 +0000

    grl-source: fixed compare_queue_element function
    
    Function should return 0 only when elements are equal.
    
    compare_queue_element function was returning 0 every time qelement->media pointer was higher or equal media pointer (qelement->media < media).
    It worked couple of times then failed, depends where memory was allocated.
    When it failed, wrong element in BrowseRelayCb::queue was marked as ready (in media_ready_cb).
    As a consequence grilo locked up not returning all elements in grl_source_browse call.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=689053

 src/grl-source.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/src/grl-source.c b/src/grl-source.c
index 3ef2c82..f631358 100644
--- a/src/grl-source.c
+++ b/src/grl-source.c
@@ -1994,7 +1994,7 @@ static gint
 compare_queue_element (QueueElement *qelement,
                        GrlMedia *media)
 {
-  return qelement->media < media;
+  return qelement->media != media;	//return 0 when equal
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]