Re: [Banshee-List] Child source v0.3 (now 0.5)



Attached is a patch which fixes this. It should be alright to check it
in now, since it doesn't depend on the child source patch.

Lukas

On Sat, 2006-04-15 at 18:42 +0200, Ruben Vermeersch wrote:
> It also seems to break the minimode plugin. Not sure which one would
> need fixing though.
> 
>    Ruben
> 
> On Sat, 2006-04-15 at 17:18 +0200, Lukas Lipka wrote:
> > Hi,
> > 
> > So I found a bug in 0.5 today when you try to create playlist by
> > dragging. The problem pops up when you try to drop the selection into
> > the "New Playlist" row and there is another source below the music
> > library.
> > 
> > Something like:
> > 
> >     * Music Library
> >         + Other playlist
> >         + New playlist <= HERE
> >     * Music Store
> >     * Lukas' iPod
> > 
> > What happens is that OnDragMotion the "New Playlist" row is created.
> > After that, when you drop the selection onto it, OnDragLeave gets called
> > at first! This is totally fucking absurdal[1], because in there we
> > destroy the "New Playlist" row. After we have done all of this
> > OnDragDataReceived is finally called. Here we try to get the row under
> > the cursor, but since the "New Playlist" row is long gone, we just get
> > the next row after it (that would be Music Store in the example above).
> > 
> > So much for the miracles in GTK-Wonderland! I just thought I would share
> > my fun with you. :-)
> > 
> > Best,
> > Lukas
> > 
> > 
> > [1] MDK's words:
> > http://www.diva-project.org/browser/trunk/src/Diva.Editor.Timeline/Diva.Editor.Timeline.DrawingArea.cs Line 249
> > 
> > 
> > On Sat, 2006-04-15 at 13:03 +0200, Lukas Lipka wrote:
> > > Thanks! That took care of it. I'm reposting an updated patch which
> > > should make everyone happy!
> > > 
> > > Best,
> > > Lukas
> > 
> > 
> > _______________________________________________
> > Banshee-list mailing list
> > Banshee-list gnome org
> > http://mail.gnome.org/mailman/listinfo/banshee-list
> > 
> 
> 
> --
> Ruben Vermeersch (rubenv)
> http://www.Lambda1.be/
> _______________________________________________
> Banshee-list mailing list
> Banshee-list gnome org
> http://mail.gnome.org/mailman/listinfo/banshee-list
> 
Index: src/SourceComboBox.cs
===================================================================
--- src/SourceComboBox.cs	(revision 84)
+++ src/SourceComboBox.cs	(working copy)
@@ -101,10 +101,16 @@
             if(updating)
                 return;
             updating = true;
-            try {
-                TreeIter iter;            
-                if(SourceModel.This.IterNthChild(out iter, SourceManager.ActiveSourceIndex)) {
-                    SetActiveIter(iter);
+            try {  
+                for(int i = 0, n = SourceModel.This.IterNChildren(); i < n; i++) {
+                    TreeIter iter = TreeIter.Zero;
+                    if(!SourceModel.This.IterNthChild(out iter, i)) {
+                        continue;
+                    }
+                
+                    if((SourceModel.This.GetValue(iter, 2) as Source) == SourceManager.ActiveSource) {
+                        SetActiveIter(iter);
+                    }                    
                 }
             } finally {
                 updating = false;


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