GNOME Bugzilla – Bug 645697
crash when clicking on xchat bubble
Last modified: 2011-03-29 02:41:49 UTC
Created attachment 184257 [details] bt 1. focus away from xchat 2. have someone say your name 3. a banner appears (leave it alone) 4. it goes into summary area 5. click on source item 6. shows expanded message 7. click on it 8. crash
Also should mention I saw a weird dark blog on the screen at the time of the crash just above and to the left of where the expanded message was. I have a phone pic of it if needed.
*blob
paste here the attach BT
+ Trace 226448
Thread 1 (Thread 0xb789b860 (LWP 15746))
== Stack trace for context 0x93f7000 == 0 [native frame] 1 anonymous(alignment = 0.5, gap = 0, sourceActor = [0xa9dfaf8 StButton.summary-source-button:expanded]) ["/home/jmccann/gnome-shell/source/gnome-shell/js/ui/boxpointer.js":331] 2 anonymous() ["/home/jmccann/gnome-shell/source/gnome-shell/js/ui/boxpointer.js":189] 3 anonymous() ["/home/jmccann/gnome-shell/install/share/gjs-1.0/lang.js":110] #
Created attachment 184260 [details] [review] boxpointer: Fix crash when sourceActor is unstaged Commit 475161f7163 repositioned the boxpointer on size changes; as the repositioning code uses the sourceActor's theme node, an assert is hit if the actor is not on a stage. For instance, this is triggered by clicking a message tray notification to focus the associated window. Add an extra check to fix the problem. On a side note, the black blob looks unrelated to this bug (unfortunately) - I still get it when the notification is dismissed.
Created attachment 184269 [details] [review] Hide summary box pointer without animating if it is empty This ensures that we don't show a small black blob fading away when the user clicks on the notification and it is removed. Set HIDING state right away in _hideSummaryBoxPointer() so that it is only called once. Update this._pointerInTray when the tray is unlocked, so that we are not dependent on escapeTray() being triggered by 'done-displaying-content' signal.
Comment on attachment 184260 [details] [review] boxpointer: Fix crash when sourceActor is unstaged >+ if (this._sourceActor.get_stage()) >+ this._reposition(this._sourceActor, this._gap, this._alignment); calling "get_stage()" seems a little over-tuned for the specific crash. How about if (this.actor.mapped && this._sourceActor.mapped)
Comment on attachment 184269 [details] [review] Hide summary box pointer without animating if it is empty AFAICT, this kills the hide animation when clicking on any non-resident notification. The underlying problem here is that the notification actors are now getting removed from the summaryitemboxpointer as soon as you click on it, instead of it waiting until after the boxpointer is hidden. Of course, no fade-out is still an improvement from a fading-out black blob, so we probably want this for now.
Created attachment 184284 [details] [review] boxpointer: Fix crash when sourceActor is not mapped (In reply to comment #6) > seems a little over-tuned for the specific crash. How about > > if (this.actor.mapped && this._sourceActor.mapped) Sure.
*** Bug 645743 has been marked as a duplicate of this bug. ***
(In reply to comment #7) > (From update of attachment 184269 [details] [review]) > AFAICT, this kills the hide animation when clicking on any non-resident > notification. The underlying problem here is that the notification actors are > now getting removed from the summaryitemboxpointer as soon as you click on it, > instead of it waiting until after the boxpointer is hidden. > > Of course, no fade-out is still an improvement from a fading-out black blob, so > we probably want this for now. I think removing the notification immediately rather than fading it out might be the right feedback to the user if the source is removed. In most cases, the notification is removed and the application window you wanted to get to is focused. The non-resident notifications still fade out if you click on the source to hide the notification.
Can we get the fix for crashing in for 3.0? It is pretty annoying that notifications cannot be dismissed.
*** Bug 645915 has been marked as a duplicate of this bug. ***
Comment on attachment 184284 [details] [review] boxpointer: Fix crash when sourceActor is not mapped Marking attachment 184284 [details] [review] obsolete, as the patches in bug 645744 contain the fix (and fix a bunch of other problems as well).