Re: [Rhythmbox-devel] xine metadata, and iPod HAL support



I had to mostly revert patch-82; it made Rhythmbox segfault more or less
immediately on startup.  The core of the change is this:

@@ -108,7 +108,7 @@
                        NULL
                };
  
-               rb_sourcelist_model_type = g_type_register_static (GTK_TYPE_LIST_STORE, "RBSourceListModel",
+               rb_sourcelist_model_type = g_type_register_static (GTK_TYPE_TREE_MODEL_FILTER, "RBSourceListModel",
                                                                   &rb_sourcelist_model_info, 0);
                g_type_add_interface_static (rb_sourcelist_model_type,
                                             RB_TYPE_TREE_DRAG_SOURCE,


That will not work.  GtkTreeModelFilter is a wrapper around another tree
model; you can't just turn the parent class of RBSourceListModel (which
was GtkListStore) into GtkTreeModelFilter.  The right approach is to not
change rb-sourcelist-model.c at all; the filter should be created by
higher-level code.  In this case that's rb-sourcelist.c.  This is also
important because the code in rb-sourcelist.c has to be aware that some
sources can be hidden.  Sometimes you want the code to operate on hidden
sources, sometimes you don't.  I've done this all in patch-84 now, just
including an explanation here for future reference :)



Attachment: signature.asc
Description: This is a digitally signed message part



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