Do

Do crashes if ~/Pictures doesn't exist

Bug #1453487 reported by Steven Bell
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Do
Incomplete
Medium
Chris Halse Rogers

Bug Description

I've don't have a ~/Pictures directory, and as a result, Do crashes everytime I begin by typing "p".
Deleting the .local/share/gnome-do directory and starting over doesn't seem to help, neither does disabling the files plugin.

Stack trace:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> GLib.GException: Error when getting information for file '/home/steven/Pictures': No such file or directory
  at GLib.FileAdapter.QueryInfo (System.String attributes, FileQueryInfoFlags flags, GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0
  at Do.Universe.Linux.FileItem.get_MimeType () [0x00000] in <filename unknown>:0
  at Do.Universe.Linux.FileItem.get_Icon () [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.BezelFullResultItemRenderer.RenderItem (Cairo.Context cr, Point renderAnchor, Int32 width, Do.Universe.Item item, Boolean drawArrow) [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.BezelGlassResults.BufferItem (Do.Universe.Item item) [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.BezelGlassResults.RenderItem (Cairo.Context cr, Int32 item) [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.BezelGlassResults.DrawContextOnSurface (Cairo.Surface sr) [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.BezelGlassResults.Paint () [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.BezelGlassResults.AnimatedDraw () [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.BezelGlassResults.Draw () [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.BezelGlassResults.set_Context (IUIContext value) [0x00000] in <filename unknown>:0
  at Do.Interface.AnimationBase.AbstractAnimatedInterface.SetPaneContext (Pane pane, IUIContext context) [0x00000] in <filename unknown>:0
  at Do.Core.Controller.UpdatePane (Pane pane) [0x00000] in <filename unknown>:0
  at Do.Core.Controller.SmartUpdatePane (Pane pane) [0x00000] in <filename unknown>:0
  at Do.Core.Controller.SearchFinished (System.Object o, Do.Interface.SearchFinishState state, Pane pane) [0x00000] in <filename unknown>:0
  at Do.Core.Controller.<Controller>m__2 (System.Object o, Do.Interface.SearchFinishState state) [0x00000] in <filename unknown>:0
  at (wrapper delegate-invoke) <Module>:invoke_void__this___object_SearchFinishState (object,Do.Interface.SearchFinishState)
  at Do.Core.SimpleSearchController.OnSearchFinished (Boolean selection_changed, Boolean query_changed, Do.Universe.Item selection, System.String query) [0x00000] in <filename unknown>:0
  at Do.Core.FirstSearchController.UpdateResults () [0x00000] in <filename unknown>:0
  at Do.Core.SimpleSearchController.AddChar (Char character) [0x00000] in <filename unknown>:0
  at Do.Core.Controller.OnIMCommit (System.Object sender, Gtk.CommitArgs e) [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <filename unknown>:0
  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00000] in <filename unknown>:0
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
   at GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data)
   at Gtk.IMContext.gtk_im_context_filter_keypress(IntPtr , IntPtr )
   at Gtk.IMContext.FilterKeypress(Gdk.EventKey evnt)
   at Do.Core.Controller.OnInputKeyPressEvent(Gdk.EventKey evnt)
   at Do.Core.Controller.KeyPressWrap(Gdk.EventKey evnt)
   at Do.Interface.AnimationBase.AbstractAnimatedInterface.OnKeyPressEvent(Gdk.EventKey evnt)
   at Gtk.Widget.keypressevent_cb(IntPtr widget, IntPtr evnt)
   at Gtk.Application.gtk_main()
   at Gtk.Application.Run()
   at Do.Do.Main(System.String[] args)

Revision history for this message
Chris Halse Rogers (raof) wrote :

Hm. That's going to be the GNOME special-locations source - I suspect that ~/.config/gtk-3.0/bookmarks contains a Pictures entry? Removing that will probably hide this issue for you.

The File item should probably be more conservative and catch that exception, though.

Changed in do:
importance: Undecided → Medium
status: New → Incomplete
Changed in do:
assignee: nobody → Chris Halse Rogers (raof)
Revision history for this message
Steven Bell (botsnlinux) wrote :

Thanks. Editing ~/.config/gtk-3.0/bookmarks does in fact work around the problem (and is the right thing to do anyway, if the directories don't exist).

Revision history for this message
Thomas Järvstrand (tjarvstrand) wrote :

The problem still persists, quite annoying

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.