Index: common/stacker/hippo-stack-manager.c
===================================================================
--- common/stacker/hippo-stack-manager.c	(revision 7418)
+++ common/stacker/hippo-stack-manager.c	(working copy)
@@ -616,7 +616,7 @@
                 notify_for_block = FALSE;
             g_object_unref(group);
         }
-    } else if (block->type == HIPPO_BLOCK_TYPE_MUSIC_CHAT) {
+    } else if (HIPPO_IS_BLOCK_TYPE_MUSIC_CHAT(block)) {
         if (chat_is_visible(info->manager, hippo_block_get_chat_id(block)))
             notify_for_block = FALSE;
     }
Index: common/stacker/hippo-canvas-stack.c
===================================================================
--- common/stacker/hippo-canvas-stack.c	(revision 7418)
+++ common/stacker/hippo-canvas-stack.c	(working copy)
@@ -294,7 +294,7 @@
     HippoCanvasStack *stack = data;
     HippoBlock *block_a;
     HippoBlock *block_b;
-    int result;
+/*    int result;
 
     g_object_get(G_OBJECT(a), "block", &block_a, NULL);
     g_object_get(G_OBJECT(b), "block", &block_b, NULL);
@@ -311,9 +311,9 @@
     if (block_a)
         g_object_unref(block_a);
     if (block_b)
-        g_object_unref(block_b);
+        g_object_unref(block_b);*/
 
-    return result;
+    return hippo_block_compare_newest_first(block_a, block_b);;
 }
 
 gboolean
@@ -388,12 +388,12 @@
 
     g_object_get(G_OBJECT(child), "block", &child_block, NULL);
 
-    if (child_block->type == HIPPO_BLOCK_TYPE_MUSIC_CHAT) {
+    if (HIPPO_IS_BLOCK_TYPE_MUSIC_CHAT(child_block)) {
         const char *chat_id = hippo_block_get_chat_id(child_block);
         if (chat_id)
             g_hash_table_insert(uhd->chatted, (void *)chat_id, GUINT_TO_POINTER(1));
         
-    } else if (child_block->type == HIPPO_BLOCK_TYPE_MUSIC_PERSON) {
+    } else if (HIPPO_IS_BLOCK_TYPE_MUSIC_PERSON(child_block)) {
         const char *chat_id = hippo_block_get_chat_id(child_block);
         gboolean seen_track = FALSE;
         
Index: common/stacker/hippo-block.h
===================================================================
--- common/stacker/hippo-block.h	(revision 7418)
+++ common/stacker/hippo-block.h	(working copy)
@@ -43,6 +43,9 @@
 #define HIPPO_IS_BLOCK_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), HIPPO_TYPE_BLOCK))
 #define HIPPO_BLOCK_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), HIPPO_TYPE_BLOCK, HippoBlockClass))
 
+#define HIPPO_IS_BLOCK_TYPE_MUSIC_CHAT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), HIPPO_BLOCK_TYPE_MUSIC_CHAT))
+#define HIPPO_IS_BLOCK_TYPE_MUSIC_PERSON(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), HIPPO_BLOCK_TYPE_MUSIC_PERSON))
+
 struct _HippoBlock {
     GObject parent;
     DDMDataResource *resource;
