-
Michael Pyne authored
Launching a command like "kdesrc-build --src-only kde/applications" will update the appropriate modules but never show any output until a timeout occurs, and then show all output at once. This is due to the handle_build() method refusing to do anything when the list of modules to build is empty (as it will be under --src-only). However handle_build() is what actually processes and shows messages from the update process during an 'async' build. Apparently I introduced this bug while refactoring this code a few months back. Previously kdesrc-build would have launched in the 'no-async' mode automatically with --src-only or --build-only in effect. By launching in 'async' mode the various logging codes in the update process feed all messages to a hidden IPC object which the build process is expected to read out and show. We can fix the bug either by making handle_build() always try to do something (so that it shows messages even if nothing is being built) or by launching in no-async if there will be only a single type of build phase (i.e. update or non-update but not both types). I chose the latter.