https://bugs.kde.org/show_bug.cgi?id=381074
--- Comment #14 from Thomas Schmitt <scdbac...@gmx.net> --- Hi, Leslie Zhai wrote: > QEventLoop http://doc.qt.io/qt-5/qeventloop.html This does not help much with understanding under which circumstances the particular medium waiting loop shall end. I searched for "waitingDone = true" which i find in https://cgit.kde.org/k3b.git/tree/src/k3bemptydiscwaiter.cpp#n710 K3b::EmptyDiscWaiter::finishWaiting() This is called in https://cgit.kde.org/k3b.git/tree/src/k3bemptydiscwaiter.cpp#n210 K3b::EmptyDiscWaiter::slotMediumChanged() which is also called before the loop. So the beef must be in there. Most of the finishWaiting() calls are in if-cases which apply to non-BD-R media only. Two calls remain. One is unlikely because of this comment https://cgit.kde.org/k3b.git/tree/src/k3bemptydiscwaiter.cpp#n641 // this is for CD drives that are not able to determine the state of a disk ----------------------------------------------------------------------------- So ours must be in https://cgit.kde.org/k3b.git/tree/src/k3bemptydiscwaiter.cpp#n634 else if( (d->wantedMediaType & medium.diskInfo().mediaType()) && (d->wantedMediaState & medium.diskInfo().diskState()) && (d->wantedMinMediaSize <= medium.actuallyRemainingSize() || IsOverburnAllowed( d->wantedMinMediaSize, medium.diskInfo().capacity(), medium.actuallyUsedCapacity() )) ) { finishWaiting( medium.diskInfo().mediaType() ); One can see how the criteria are set up in waitForDisc(): https://cgit.kde.org/k3b.git/tree/src/k3bemptydiscwaiter.cpp#n158 d->wantedMediaState = mediaState; d->wantedMediaType = mediaType; d->wantedMinMediaSize = minMediaSize; Currently i fail to see the spot where this is called. So it would be interesting to see by what values the loop gets programmed. A print statement at that position would be of help. In general we have three possible reasons for not accepting the BD-R in the drive: - A type is requested which does not match BD-R. The text snippet "empty medium of size" indicates that K3B does not look for MEDIA_WRITABLE_BD, because then it would say "Blu-ray medium". - The BD-R is not in the desired state. (This is unlikely because we have the statement in the screenshot that it is an empty BD-R and that the waiter wants to see an empty medium.) - The actuallyRemainingSize() is less than the required size. So we are back at the question how much size is offered by the BD-R. Have a nice day :) Thomas -- You are receiving this mail because: You are watching all bug changes.