Skip to content

Commit 74d9446

Browse files
committed
Fix downloading encrypted files; make failed MxcReply more explicit
1 parent 1806a8e commit 74d9446

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

lib/mxcreply.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ class MxcReply::Private
2828
}
2929
};
3030

31-
MxcReply::MxcReply(QNetworkReply* reply) : d(makeImpl<Private>())
31+
MxcReply::MxcReply(DeferredFlag) : d(makeImpl<Private>()) {}
32+
33+
MxcReply::MxcReply(QNetworkReply* reply) : MxcReply(Deferred)
3234
{
3335
setNetworkReply(reply);
3436
}
3537

36-
MxcReply::MxcReply(DeferredFlag) : d(makeImpl<Private>()) {}
37-
38-
MxcReply::MxcReply(QNetworkReply* reply, Room* room, const QString &eventId)
39-
: MxcReply(reply)
38+
MxcReply::MxcReply(QNetworkReply* reply, Room* room, const QString& eventId)
39+
: MxcReply(Deferred)
4040
{
4141
#ifdef Quotient_E2EE_ENABLED
4242
if (auto eventIt = room->findInTimeline(eventId);
@@ -48,6 +48,7 @@ MxcReply::MxcReply(QNetworkReply* reply, Room* room, const QString &eventId)
4848
}
4949
}
5050
#endif
51+
setNetworkReply(reply);
5152
}
5253

5354
void MxcReply::setNetworkReply(QNetworkReply* newReply)
@@ -77,7 +78,7 @@ void MxcReply::setNetworkReply(QNetworkReply* newReply)
7778
});
7879
}
7980

80-
MxcReply::MxcReply()
81+
MxcReply::MxcReply(FailedFlag)
8182
: d(ZeroImpl<Private>())
8283
{
8384
static const auto BadRequestPhrase = tr("Bad Request");

lib/mxcreply.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ class QUOTIENT_API MxcReply : public QNetworkReply
1515
Q_OBJECT
1616
public:
1717
enum DeferredFlag { Deferred };
18+
enum FailedFlag { Failed };
1819

19-
explicit MxcReply();
20-
explicit MxcReply(QNetworkReply *reply);
2120
explicit MxcReply(DeferredFlag);
21+
explicit MxcReply(FailedFlag);
22+
explicit MxcReply(QNetworkReply *reply);
2223
MxcReply(QNetworkReply* reply, Room* room, const QString& eventId);
2324

2425
void setNetworkReply(QNetworkReply* newReply);

lib/networkaccessmanager.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ QNetworkReply* NetworkAccessManager::createRequest(
9696
if (accountId.isEmpty()) {
9797
if (!directMediaRequestsAllowed()) {
9898
qCWarning(NETWORK) << "No connection specified";
99-
return new MxcReply();
99+
return new MxcReply(MxcReply::Failed);
100100
}
101101
// Best effort with an unauthenticated request directly to the media
102102
// homeserver (rather than via own homeserver)
@@ -115,7 +115,7 @@ QNetworkReply* NetworkAccessManager::createRequest(
115115
const auto* const connection = Accounts.get(accountId);
116116
if (!connection) {
117117
qCWarning(NETWORK) << "Connection" << accountId << "not found";
118-
return new MxcReply();
118+
return new MxcReply(MxcReply::Failed);
119119
}
120120
if (const auto roomId =
121121
query.queryItemValue(QStringLiteral("room_id"));
@@ -126,7 +126,7 @@ QNetworkReply* NetworkAccessManager::createRequest(
126126
query.queryItemValue(QStringLiteral("event_id")));
127127

128128
qCWarning(NETWORK) << "Room" << roomId << "not found";
129-
return new MxcReply();
129+
return new MxcReply(MxcReply::Failed);
130130
}
131131
return new MxcReply(
132132
d->createImplRequest(op, request, connection));

0 commit comments

Comments
 (0)