KDevelop 4.7.1 opening unasked-for sessions on OS X

René J.V. Bertin rjvbertin at gmail.com
Tue Feb 10 16:41:37 GMT 2015


On Tuesday February 10 2015 16:22:41 Aleix Pol wrote:

>I can understand this being bothersome, but it's definitely not what
>we'd expect.

I'd certainly hope that!! (the expecting bit) :)

>Maybe you can figure out which CLI arguments started those processes?
>it might help trace the problem back.

Promise, will do next time, but if memory serves me well I tried and got nothing useful out of it (like parent process 1 for instance).

In the meantime I've thought about a thing to verify. You may be aware that I was having an issue on OS X where KDevelop would crash when closing the patchreview toolview, unless (probably) I first closed all open documents. That crash happened deep inside Qt, in a mouse event handler. I finally traced that to a specific stale pointer, nativeWidget, which gets passed to a lookup function instead of, as a comment suggests, a null pointer. With a null pointer, the lookup function does a more exhaustive search to find a (potential?) candidate for the event.

See https://bugreports.qt.io/browse/QTBUG-44343

Ever since I made that change I've been able to open, reopen and close patchreviews at will, no matter how many documents it opened, and no matter what KJobs it had launched.

Except that it just might be possible that the exhaustive search turns up a candidate that doesn't correspond at all to an item that received an actual and intended event. I don't know for instance to what extent OS X (or Qt for Mac) can send mouse events to applications that didn't have the focus. 

Not that I believe it particularly likely. When I use the session list ("kdevelop --ps"), typically select the desired session with the cursor keys and then hit Enter (so the mouse cursor can be anywhere in the window), but in at least one of the cases I had today I was navigating the project toolview's context menu, i.e. using the mouse, so there should have been no ambiguity.

Side-ways related: I think there's no way to remove all elements from the worksheet window when there are no open documents, right? Would it be hard to deactivate them in source, to have just a blank, empty sheet until you open a document? The session list is already in the menu of that name, so it isn't particularly unavoidable to display it in the main window...

R.



More information about the KDevelop mailing list