diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetFileTransferJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetFileTransferJabberImpl.java index 23ad64aeb..228b73880 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetFileTransferJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetFileTransferJabberImpl.java @@ -480,6 +480,22 @@ public void run() .removeThumbnailRequestListener(); } + // sometimes a filetransfer can be preparing + // and than completed : + // transfered in one iteration of current thread + // so it won't go through intermediate state - inProgress + // make sure this won't happen + if(status == FileTransferStatusChangeEvent.COMPLETED + && fileTransfer.getStatus() + == FileTransferStatusChangeEvent.PREPARING) + { + fileTransfer.fireStatusChangeEvent( + FileTransferStatusChangeEvent.IN_PROGRESS, + "Status changed"); + fileTransfer.fireProgressChangeEvent( + System.currentTimeMillis(), progress); + } + break; }