GNOME Bugzilla – Bug 623529
Assigning tag typing in the tag text field causes crash
Last modified: 2010-07-05 21:41:20 UTC
Select one or several photos, press "t" to make the tag text field appear, assign any tag, press enter: (f-spot:8826): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference. [1 Debug 16:18:03.984] IndicesOf took 0.000585 Exception in Gtk# callback delegate Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception. System.NullReferenceException: Object reference not set to an instance of an object at FSpot.Widgets.TagView.DrawTags () [0x00000] in /usr/src/f-spot/src/Widgets/TagView.cs:79 at FSpot.PhotoView.UpdateTagView () [0x00000] in /usr/src/f-spot/src/PhotoView.cs:208 at FSpot.MainWindow.HandleSelectionItemsChanged (IBrowsableCollection collection, FSpot.BrowsableEventArgs args) [0x0000c] in /usr/src/f-spot/src/MainWindow.cs:851 at (wrapper delegate-invoke) FSpot.IBrowsableCollectionItemsChangedHandler:invoke_void__this___IBrowsableCollection_BrowsableEventArgs (FSpot.IBrowsableCollection,FSpot.BrowsableEventArgs) at FSpot.MainWindow+MainSelection.HandleSelectionItemsChanged (IBrowsableCollection collection, FSpot.BrowsableEventArgs args) [0x0001b] in /usr/src/f-spot/src/MainWindow.cs:830 at FSpot.Widgets.IconView+SelectionCollection.HandleParentItemsChanged (IBrowsableCollection collection, FSpot.BrowsableEventArgs args) [0x00086] in /usr/src/f-spot/src/Widgets/IconView.cs:372 at (wrapper delegate-invoke) FSpot.IBrowsableCollectionItemsChangedHandler:invoke_void__this___IBrowsableCollection_BrowsableEventArgs (FSpot.IBrowsableCollection,FSpot.BrowsableEventArgs) at (wrapper delegate-invoke) FSpot.IBrowsableCollectionItemsChangedHandler:invoke_void__this___IBrowsableCollection_BrowsableEventArgs (FSpot.IBrowsableCollection,FSpot.BrowsableEventArgs) at (wrapper delegate-invoke) FSpot.IBrowsableCollectionItemsChangedHandler:invoke_void__this___IBrowsableCollection_BrowsableEventArgs (FSpot.IBrowsableCollection,FSpot.BrowsableEventArgs) at (wrapper delegate-invoke) FSpot.IBrowsableCollectionItemsChangedHandler:invoke_void__this___IBrowsableCollection_BrowsableEventArgs (FSpot.IBrowsableCollection,FSpot.BrowsableEventArgs) at FSpot.PhotoQuery.MarkChanged (System.Object sender, FSpot.DbItemEventArgs`1 args) [0x00021] in /usr/src/f-spot/src/PhotoQuery.cs:369 at (wrapper delegate-invoke) System.EventHandler`1<FSpot.DbItemEventArgs`1<FSpot.Photo>>:invoke_void__this___object_DbItemEventArgs`1<Photo> (object,FSpot.DbItemEventArgs`1<FSpot.Photo>) at (wrapper delegate-invoke) System.EventHandler`1<FSpot.DbItemEventArgs`1<FSpot.Photo>>:invoke_void__this___object_DbItemEventArgs`1<Photo> (object,FSpot.DbItemEventArgs`1<FSpot.Photo>) at DbStore`1+<EmitEvent>c__AnonStorey3[FSpot.Photo].<>m__4 () [0x00000] in /usr/src/f-spot/src/Db.cs:98 at Hyena.ThreadAssist.ProxyToMain (Hyena.InvokeHandler handler) [0x0001a] in /usr/src/f-spot/lib/Hyena/src/Hyena/Hyena/ThreadAssist.cs:99 at DbStore`1[FSpot.Photo].EmitEvent (System.EventHandler`1 evnt, FSpot.DbItemEventArgs`1 args) [0x00027] in /usr/src/f-spot/src/Db.cs:97 at DbStore`1[FSpot.Photo].EmitChanged (FSpot.Photo[] items, FSpot.DbItemEventArgs`1 args) [0x00000] in /usr/src/f-spot/src/Db.cs:79 at PhotoStore.Commit (FSpot.Photo[] items) [0x0007d] in /usr/src/f-spot/src/PhotoStore.cs:420 at FSpot.PhotoQuery.Commit (System.Int32[] indexes) [0x0004f] in /usr/src/f-spot/src/PhotoQuery.cs:361 at FSpot.MainWindow.AddTagExtended (System.Int32[] nums, FSpot.Tag[] tags) [0x00031] in /usr/src/f-spot/src/MainWindow.cs:901 at FSpot.MainWindow.HandleTagEntryTagsAttached (System.Object o, System.String[] new_tags) [0x000df] in /usr/src/f-spot/src/MainWindow.cs:2882 at FSpot.Widgets.TagEntry.OnActivated () [0x00090] in /usr/src/f-spot/src/Widgets/TagEntry.cs:261 at Gtk.Entry.activated_cb (IntPtr entry) [0x00000] at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) at Gtk.Entry.activated_cb(IntPtr entry) at Gtk.Application.gtk_main() at Gtk.Application.Run() at FSpot.Driver.Startup() in /usr/src/f-spot/src/main.cs:line 324 at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) in /usr/src/f-spot/lib/Hyena/src/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:line 54 at FSpot.Driver.Main(System.String[] args) in /usr/src/f-spot/src/main.cs:line 283
Is this consistently reproducible? Just tested on my taglib-metadata branch (which should work the same for the given stack), but I'm not seeing this.
Yes, it is. Maybe it is my database? I'll try again later with a clean instance.
Still same error. I tried with a brand new basedir: f-spot --debug --basedir /tmp/Photos Imported some photos and tried to assign some tags. Same error.
Created attachment 165302 [details] Photo causing the crash. With a clean (or installed) f-spot, import this photo and assign a tag like described above.
Created attachment 165304 [details] [review] Don't try to draw tags if there aren't any
Not photo dependent, tag list dependent.
Attachment 165304 [details] pushed as 3d0a0d2 - Don't try to draw tags if there aren't any Trusting you on this one, an extra safety check won't hurt anyone. Thanks!