Three entries in playlist 1 Blah Blah by the Blah Tones 2 Doo Wap Da Diddly by the Weird Sisters 3 My Head A Splode by Strong Bad Bringing Blah Blah down to the bottom leaves them numbered like this 2 Doo Wap Da Diddly by the Weird Sisters 3 My Head A Splode by Strong Bad 3 Blah Blah by the Blah Tones Repeated manipulations can result in all 3s
hmm, thought i had that worked out already; guess not. anyway, fixed in CVS. please verify. (also, i noticed and worked around a gtk oddity [bug?] where if you try to call gtk_list_store_move_before() where the destination is the topmost row, it for some reason moves it after the bottommost row. lame.) thanks for the report! you're the first xfmedia entry in xfce bugzilla ^_^
I still see this behaviour. In face, reordering has caused a few segfaults, but now I can't reproduce these. Running from a terminal yields this output when reordering items: (xfmedia:11839): Gtk-WARNING **: gtkliststore.c:857: Invalid column number 1771243826 added to iter (remember to end your list of columns with a -1) (xfmedia:11839): Gtk-WARNING **: gtkliststore.c:857: Invalid column number 147089376 added to iter (remember to end your list of columns with a -1) And thanks. I like to break new ground
can you be more specific about what you're doing to cause problems? from my perspective, it works perfectly.
Well, to get things down to the simplest test case, I killed ~/.xine ~/.config/xfmedia and ~/.cache/xfmedia then added two songs to my playlist. I clicked on song two and clicked the up arrow to move it up. One of two things will occur - either both songs will end up numbered as 2, or xfmedia will segfault. I get output like the following in the case of a number error. (xfmedia:12384): Gtk-WARNING **: gtkliststore.c:857: Invalid column number 1314961828 added to iter (remember to end your list of columns with a -1) I was able to get a backtrace once post segfault. Here is that: #0 0x40171c15 in gtk_list_store_set_valist (list_store=0x8c4d290, iter=0xbfffee00, var_args=0xbfffee04 "") at gtkliststore.c:860 #1 0x40171ffc in gtk_list_store_set (list_store=0x8c4d290, iter=0xbfffee00) at gtkliststore.c:928 #2 0x0805d3e9 in go_up_cb (w=0x8bd6ff8, user_data=0x8bd64e0) at playlist.c:601 #3 0x404289a1 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #4 0x40414280 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #5 0x404284a5 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #6 0x40427461 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #7 0x40427764 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #8 0x400ce9d8 in gtk_button_clicked (button=0x8bd6ff8) at gtkbutton.c:719 #9 0x400cf863 in gtk_real_button_released (button=0x8bd6ff8) at gtkbutton.c:1220 #10 0x404289a1 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #11 0x40414617 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #12 0x40414280 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #13 0x40427cce in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #14 0x40427461 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #15 0x40427764 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #16 0x400ce948 in gtk_button_released (button=0x8bd6ff8) at gtkbutton.c:711 #17 0x400cf6dc in gtk_button_button_release (widget=0x8bd6ff8, event=0x8c4d270) at gtkbutton.c:1136 #18 0x401786eb in _gtk_marshal_BOOLEAN__BOXED (closure=0x8bd6ff8, return_value=0xbffff720, n_param_values=2, param_values=0x8ce5fd0, invocation_hint=0xbffff748, marshal_data=0x400cf6a0) at gtkmarshalers.c:82 #19 0x40414617 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #20 0x40414280 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #21 0x40427ed5 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #22 0x40427238 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #23 0x40427764 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #24 0x4025ef6b in gtk_widget_event_internal (widget=0x8bd6ff8, event=0x8ce5fd0) at gtkwidget.c:3564 #25 0x40176fc0 in gtk_propagate_event (widget=0x8bd6ff8, event=0x8ce5fd0) at gtkmain.c:2345 #26 0x40175e7b in gtk_main_do_event (event=0x8ce5fd0) at gtkmain.c:1583 #27 0x4036811f in gdk_event_dispatch (source=0x8c4d270, callback=0, user_data=0x0) at gdkevents-x11.c:2158 #28 0x4046d1a2 in g_main_depth () from /usr/lib/libglib-2.0.so.0 #29 0x4046e298 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #30 0x4046e5d0 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #31 0x4046ec13 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #32 0x401756fb in gtk_main () at gtkmain.c:1173 #33 0x08057a38 in main (argc=1, argv=0xbffffc34) at main.c:251 GTK bug? I've never really read a BT before but it looks like a gtk_main() error. For what that is worth I am running GTK+ 2.4.11 Thanks so much Brian!
odd that i'm still unable to fix it, but the backtrace helped, should be fixed now (well, in 51 minutes when anoncvs syncs). thanks again.
(In reply to comment #5) > odd that i'm still unable to fix it err, of course i meant "odd that i'm still unable to *reproduce* it"
verified
fix shipped in 0.3.0