hein added a comment.
It's totally conceivable for e.g. a KPart or a Plasma plugin to open a QWidget-based window where the KMessageBox is appropriate, and if there's only a global interface instance and Plasma overrides it to hide all message boxes it's going to break KIO users in plugins. So I don't think going to a single global is good enough, it would have to be able to set more narrowly. This also bubbles up actually - the KRun calls we're talking about are in libtaskmanager which is technically meant to be UI-agnostic, so it'd have to also expose some way to set the interface instance. I agree all of this is in theory good (we need to make KIO more toolkit-agnostic - I have another giant patch sitting around that's almost-unfinishable that adds QWindow support to some APIs that currently only accept QWidgets I don't even have), but I think it's KIO 6 material and not the quick fix I'm looking for. I found a cludge that's ugly but works to fix the crash - I'll update this in a moment to see how much you hate it. :) REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D10405 To: hein, dfaure, davidedmundson, mart, ngraham Cc: #frameworks, michaelh