GNOME Bugzilla – Bug 353526
crash in Deskbar:
Last modified: 2006-09-06 05:25:56 UTC
What were you doing when the application crashed? Distribution: Ubuntu 6.10 (edgy) Gnome Release: 2.15.92 2006-08-22 (Ubuntu) BugBuddy Version: 2.15.92 Memory status: size: 0 vsize: 0 resident: 0 share: 0 rss: 0 rss_rlim: 0 CPU usage: start_time: 0 rtime: 0 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 0 Traceback (most recent call last):
+ Trace 71248
iter = self.model.get_iter (self.cview.last_visible_path())
How did you encounter this bug? Is there any way we can reproduce it?
*** Bug 353555 has been marked as a duplicate of this bug. ***
this is auto reported bug when i first time using the Deskbar search.. TQ for reply.
Created attachment 71926 [details] [review] Check that last_visible_path is not null *Gulp*, I can reproduce this by simply hitting enter in an empty entry... Button or entry view - it doesn't matter. Luckily I have a patch. We need release team clearance though, since we are in hard freeze. This bug is a bit related to bug #345806 - "Search string truncated if user is a fast typist". I think this bug might be triggered when you type something very fast and then hit enter before any keystrokes are registered at all.
Created attachment 71928 [details] [review] same patch as above, but it removes a misleading FIXME too
Hmm... just to be safe, should we also have ---------------------- else: iter = None ---------------------- to cover the case where (iter != None and self.model.iter_has_child(iter))?? And, yes we will need freeze-break clearance. The process is at http://live.gnome.org/ReleasePlanning/Freezes
not that i can tell... We set iter = None at the top of that block anyway...
We do set iter = None, but soon after, we (conditionally) call iter = self.model.get_iter (path). You are probably right, but at this stage, I would rather be safe than sorry. :-)
Ok. I understand your confusion Nigel. The code is a bit tricky, but correct nonetheless (to my understanding atleast :-D). Consider the case where nothing is selected in the tree, and you hit enter in the entry to activate the top hit. The topmost element of the tree will be a category header, so you have to select the child of the first element. This is exactly the case you describe where (iter != None and self.model.iter_has_child(iter)). Maybe this ought to be documented in the code.
Committed in HEAD since this fixes a crasher. I didn't use nigel's modificaiton. Mikkel i hope you're right ;)
*** Bug 354164 has been marked as a duplicate of this bug. ***
*** Bug 354546 has been marked as a duplicate of this bug. ***