On Fri, Sep 26, 2008 at 09:29:00PM +0000, corvid wrote:
I wrote:
Jorge wrote:
This hinted me towards a timing issue and found this way to crash dillo (most probably akin to the "middle-click" bug):
1.- Left click over a remote URL link (to have some time while DNS is resolving) 2.- Move the mouse pointer out of the link and right-click to get the popup menu, before the new page starts downloading. 3.- Once the new page starts to show, click again to get rid of the popup, and it'll crash.
What a coincidence! I finally got around to making a patch for that last night. (I'd known about that one for a while...)
Here, you can give it a try.
It took until yesterday to finally poke at it long enough to find the problem because the backtrace you get is very misleading. It dies down below Widget::buttonPress (EventButton *event), and of course you just pressed the button to get rid of the popup -- but it's really the old button press that popped up the menu. First it went down buttonPressImpl and caused the popup, which doesn't return until the menu goes away, and second it goes down eventEmitter.emitButtonPress...but the widget and its emitter are gone.
Ah right. I thought it was related to the old popup, but I could not figure out where the buttonPress() came from, it showed button 3 pressed where I had pressed button 1 to get rid of the popup. Thanks for the explanation. Johannes