After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 623529 - Assigning tag typing in the tag text field causes crash
Assigning tag typing in the tag text field causes crash
Status: RESOLVED FIXED
Product: f-spot
Classification: Other
Component: Tags
GIT
Other Linux
: Normal major
: 0.7.1
Assigned To: F-spot maintainers
F-spot maintainers
Depends on:
Blocks:
 
 
Reported: 2010-07-04 14:21 UTC by Paul Wellner Bou
Modified: 2010-07-05 21:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Photo causing the crash. (685.11 KB, image/jpeg)
2010-07-05 19:35 UTC, Paul Wellner Bou
  Details
Don't try to draw tags if there aren't any (729 bytes, patch)
2010-07-05 19:51 UTC, Paul Wellner Bou
committed Details | Review

Description Paul Wellner Bou 2010-07-04 14:21:44 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
Comment 1 Ruben Vermeersch 2010-07-05 11:52:03 UTC
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.
Comment 2 Paul Wellner Bou 2010-07-05 13:28:30 UTC
Yes, it is.

Maybe it is my database? I'll try again later with a clean instance.
Comment 3 Paul Wellner Bou 2010-07-05 18:56:27 UTC
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.
Comment 4 Paul Wellner Bou 2010-07-05 19:35:49 UTC
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.
Comment 5 Paul Wellner Bou 2010-07-05 19:51:28 UTC
Created attachment 165304 [details] [review]
Don't try to draw tags if there aren't any
Comment 6 Paul Wellner Bou 2010-07-05 19:52:21 UTC
Not photo dependent, tag list dependent.
Comment 7 Ruben Vermeersch 2010-07-05 21:41:16 UTC
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!