From 2a8b6f05c8b4f6e1aacbfaa57d301e59739d199d Mon Sep 17 00:00:00 2001 From: John Preston Date: Sat, 27 Jul 2019 17:01:25 +0200 Subject: [PATCH] Fix build for GCC. --- Telegram/SourceFiles/mtproto/rpc_sender.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Telegram/SourceFiles/mtproto/rpc_sender.h b/Telegram/SourceFiles/mtproto/rpc_sender.h index b0c83d59a..068bd4d32 100644 --- a/Telegram/SourceFiles/mtproto/rpc_sender.h +++ b/Telegram/SourceFiles/mtproto/rpc_sender.h @@ -343,15 +343,17 @@ protected: }; -template +template class RPCDoneHandlerBareOwned : public RPCOwnedDoneHandler { // done(from, end) - using CallbackType = TReturn (TReceiver::*)(const mtpPrime *, const mtpPrime *); + using CallbackType = bool (TReceiver::*)(const mtpPrime *, const mtpPrime *); public: RPCDoneHandlerBareOwned(TReceiver *receiver, CallbackType onDone) : RPCOwnedDoneHandler(receiver), _onDone(onDone) { } bool operator()(mtpRequestId requestId, const mtpPrime *from, const mtpPrime *end) override { - if (_owner) (static_cast(_owner)->*_onDone)(from, end); + return _owner + ? (static_cast(_owner)->*_onDone)(from, end) + : true; } private: @@ -713,9 +715,9 @@ private: class RPCSender { public: - template // done(from, end) - RPCDoneHandlerPtr rpcDone(TReturn (TReceiver::*onDone)(const mtpPrime *, const mtpPrime *)) { - return RPCDoneHandlerPtr(new RPCDoneHandlerBareOwned(static_cast(this), onDone)); + template // done(from, end) + RPCDoneHandlerPtr rpcDone(bool (TReceiver::*onDone)(const mtpPrime *, const mtpPrime *)) { + return RPCDoneHandlerPtr(new RPCDoneHandlerBareOwned(static_cast(this), onDone)); } template // done(from, end, req_id)